Paypal Sandbox存在货币问题。
我正在使用沙箱测试我网站的定期付款 (数字商品,快递结账)
一切都按预期工作。
用户点击付款。
用户转入paypal快速结账登录。
paypal登录屏幕以正确的货币显示正确的金额,例如£10
用户登录(验证交易)
付款成功,用户返回我们的网站。
可爱。这一切都像我期望的那样有效。
但是,当我登录商家沙箱帐户查看活动时,我的测试用户所做的所有£xx付款现在都是$ xx(USD)
我该如何解决这个问题,或者Sandbox是否仅支持美元,如果我上线,这将会消失?
我已尝试在我的请求中更改货币(即设置PAYMENTREQUEST_0_CURRENCYCODE =其他内容) - 这会更改付款页面登录中的货币,但无论如何,所有付款仍以商家登录中的美元结算。
我在商家帐户中将GBP,Euro和USD设置为货币。
请求看起来像这样(除了在向PayPal发送请求之前所有密钥都转换为UC)。
'L_PAYMENTREQUEST_0_AMT0' => '10.00',
'paymentaction' => 'Sale',
'PAYMENTREQUEST_0_CURRENCYCODE' => 'GBP',
'l_billingtype0' => 'RecurringPayments',
'returnUrl' => 'http://site.com',
'brandname' => 'Name',
'L_PAYMENTREQUEST_0_DESC0' => 'GoPro 10',
'allownote' => 0,
'l_billingagreementdescription0' => 'goPro 10.',
'PAYMENTREQUEST_0_ITEMAMT' => '10.00',
'cancelUrl' => 'http://site.com/payment/cancel/7',
'PAYFLOWCOLOR' => '518daf',
'PAYMENTREQUEST_0_AMT' => '10.00',
'L_PAYMENTREQUEST_0_ITEMCATEGORY0' => 'Digital',
'HDRIMG' => 'http://site.com/images/logo230x95.png',
'MAXFAILEDPAYMENTS' => 0,
'L_PAYMENTREQUEST_0_NAME0' => '10',
'noshipping' => 1,
'L_PAYMENTREQUEST_0_NUMBER0' => 'CR7',
'L_PAYMENTREQUEST_0_QTY0' => 1,
响应表paypay是“成功”,但是如果我执行了 GetRecurringPaymentsProfileDetails
然后paypal的结果是美元。 E.g。
'totalbillingcycles' => '0',
'trialamtpaid' => '0.00',
'autobilloutamt' => 'NoAutoBill',
'ack' => 'Success',
'desc' => 'Gift or use 110 points per month and receive 70% revenue share with goPro 10.',
'numcyclesremaining' => '0',
'amt' => '10.00',
'maxfailedpayments' => '0',
'nextbillingdate' => '2012-11-22T10:00:00Z',
'regularbillingperiod' => 'Day',
'aggregateamt' => '0.00',
'subscribername' => 'name',
'regulartotalbillingcycles' => '0',
'billingperiod' => 'Day',
'outstandingbalance' => '0.00',
'status' => 'Active',
'regularamtpaid' => '0.00',
'taxamt' => '0.00',
'regulartaxamt' => '0.00',
'failedpaymentcount' => '0',
'regularshippingamt' => '0.00',
'profileid' => 'I-616GDHNKDXKL',
'timestamp' => '2012-11-22T12:28:26Z',
'regularbillingfrequency' => '1',
'version' => '95.0',
'finalpaymentduedate' => '1970-01-01T00:00:00Z',
'build' => '4181146',
'numcyclescompleted' => '0',
'correlationid' => 'c3fc55a117agh',
'shippingamt' => '0.00',
'regularcurrencycode' => 'USD',
'regularamt' => '10.00',
'aggregateoptionalamt' => '0.00',
'profilestartdate' => '2012-11-22T00:00:00Z',
'billingfrequency' => '1',
'currencycode' => 'USD',
有什么明显的东西我不见了吗?
答案 0 :(得分:1)
PAYMENTREQUEST_0_CURRENCYCODE被忽略(我不知道为什么 - 它已被记录)
您必须使用
CURRENCYCODE = GBP(记录为已弃用)。