天天看點

Paypal沙盒的一些破事

最近折騰小語種站點遇到一些攻擊力不大但侮辱性極強需求,如下:

某小語種站下要求:

1、價格是 3500這樣的整百形式;

2、PAYPAL結算的時候能不能切換成目前語言國家的貨币機關;

先來看1,其實說出來是一個很簡單的需求,但是尼瑪你或發現在magento裡面那就是個大坑了,由于基礎貨币是美刀,而且是帶小數點2位精确的。因為美刀、歐元都很值錢一分錢那也是錢呢。那麼要是到了錢不值錢的國家如小日本這個貨币習慣就不對了。首先得去小數點、然後百位取整,當然這裡還有PHP浮點運算精度的問題這個網上也有相關的讨論;然後要改的地方那叫一個多了;但是提需求的人會覺得這個問題很簡單呀不就是個數字嘛哈哈哈;這裡我推薦重起一個站點而不是加一個店鋪,新起的站點基礎貨币就用日元這樣的就可以合了解決這個問題;當然要是你的老闆不樂意這樣幹就隻能改了,程式也是能實作的就是工作量嘛,當然後面支付也會有麻煩;

再看2這個谷歌上搜搜可以找到相關的解決辦法就不啰嗦了;

然而我在Paypal沙盒測試的時候就遇到一個很詭異的問題,結算生成的訂單全部是Payment Review 就是paypal的pending了,搗鼓了半天還以為是程式的問題,後來打開支付日志追蹤如下:

Paypal沙盒的一些破事

這不是要把人逼瘋嗎?我特麼就是要切換貨币,卻是以拒付了?問題可能出在PAYPAL而不是程式,但是沙盒帳戶裡面根本沒有貨币相關的設定。

然而此事就是這麼愚蠢,解決辦法就是你如果是用日元結算那麼對不起沙盒的收款帳戶必須是日本的!要不然永遠都是拒付!不知道正式線上的支付會不會這麼半身不遂。