1

Paypal Sandbox で通貨の問題が発生しています。

サンドボックスを使用してサイトの定期支払いをテストしています (デジタル商品、エクスプレス チェックアウト)

すべてが期待どおりに機能しています。

ユーザーが支払いをクリックします。

ユーザーはペイパル エクスプレス チェックアウト ログインに転送されます。

ペイパルのログイン画面に、正しい通貨で正しい金額が表示されます (例: £10)

ユーザーがログインします(トランザクションを認証します)

支払いが完了し、ユーザーはサイトに戻ります。

素晴らしい。それはすべて私が期待するように機能します。

しかし、マーチャント サンドボックス アカウントにログインしてアクティビティを確認すると、テスト ユーザーが行った £xx の支払いはすべて $xx (USD) になっています。

これを修正するにはどうすればよいですか、それとも Sandbox は USD しかサポートしていません。

リクエストで通貨を変更しようとしました (つまり、PAYMENTREQUEST_0_CURRENCYCODE = 何かを設定する) - 支払いページのログインで通貨を変更しますが、すべての支払いはマーチャントのログインで USD として行われます。

マーチャント アカウントの通貨として GBP、ユーロ、および 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 を実行すると

次に、ペイパルからの結果は米ドルです。例えば

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

私が見逃している明らかなものはありますか?

4

1 に答える 1

1

ああ、早すぎたのですが、フィールドのようです

PAYMENTREQUEST_0_CURRENCYCODEは無視されます(理由はわかりません-文書化されています)

使用する必要があります

CURRENCYCODE = GBP(非推奨として文書化されています)。

于 2012-11-22T14:25:33.320 に答える