Paypal 沙箱,我所有的英镑交易都变成了美元交易

标签 paypal sandbox currency

我在使用 Paypal Sandbox 时遇到货币问题。

我正在使用沙盒测试我网站的定期付款 (数字商品,快速结账)

一切都按预期工作。

用户点击支付。

用户被转移到paypal express checkout登录。

Paypal 登录屏幕以正确的货币显示正确的金额,例如£10

用户登录(验证交易)

支付成功,用户返回我们的网站。

可爱。一切如我所料。

但是,当我登录商家沙盒帐户查看事件时,我的测试用户支付的所有 £xx 款项现在都以 $xx (USD) 计价

我该如何解决这个问题,或者 Sandbox 是否只支持美元,如果我上线,这个问题就会消失?

我已尝试更改我的请求中的货币(即设置 PAYMENTREQUEST_0_CURRENCYCODE = 其他内容)- 这会更改支付页面登录中的货币,但无论如何,所有付款仍以美元形式在商家登录中进行。

我在我的商家账户中将英镑、欧元和美元设置为货币。

请求看起来像这样(除了在将请求发送到 PayPal 之前所有 key 都转换为 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 的结果是美元。例如

'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',

我是否遗漏了一些明显的东西?

最佳答案

嗯,我问的太早了,好像是字段

PAYMENTREQUEST_0_CURRENCYCODE 被忽略(我不确定为什么 - 它已记录在案)

你必须使用

CURRENCYCODE = GBP(已弃用)。

关于Paypal 沙箱,我所有的英镑交易都变成了美元交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13514254/

相关文章:

paypal - Kentico 最好的解决方案是什么,只有一种产品/服务以固定价格出售

PayPal 立即购买,获取付款信息

hadoop - HDP 2.3 沙箱 mapreduce 日志

cocoa - 权利 key 中缺少 com.apple.security.files.bookmarks.app-scope?

javascript - 在 Javascript 中将钱四舍五入到最接近的 10 美元

javascript - 将数字四舍五入到恰好两位小数以进行货币格式设置

java - Android 是否可以获取用户和设备所在国家/地区的货币代码?

php - Paypal IPN 状态 "autochange"?

database - 如何获得对沙盒应用程序内资源中数据库的读/写访问权限?

php - 将变量值传给paypal的购物车进行支付