1

私はPaypalとの定期的な支払いの統合に取り組んでおり、この時点で主な機能は正常に機能しています。解決できない問題が1つあるので、ここの誰かが同じ問題に遭遇し、ヒントをくれるかもしれないと思いました。

定期支払いのサブスクリプションをテストするために、セラーアカウントを作成しました。売り手はドイツにあります。

次に、購入者を表す他のテストアカウントをいくつか作成しました。私は、ドイツの顧客を表す1人のバイヤーと、米国のバイヤーを表す1人のバイヤーを作成しました。

Paypalのログインページにリダイレクトされると(チェックアウト、カートは左側に表示されますなど)、米国のアカウントで正しくログインし、支払いに同意してリダイレクトされ、すべてが正常になります。

しかし、GERMANテストアカウントを使用しようとすると、ログイン直後に「現在、支払いを処理できません。販売者のページに戻って別の支払いオプションを選択してください」というページが常に表示されます。

問題を1つの驚くべき事実まで追跡しました。つまり、サンドボックスのTest-Account-Section内で「Premier」とマークされたテストアカウントでログインしようとすると、常にこのエラーが発生します。「個人」としてマークされている他のすべての(!)テストアカウントは正常に機能しています。

Paypal APIを使用して、エクスプレスチェックアウトのNVP文字列を設定しています。チェックアウト文字列を以下に示します。何かが足りない可能性があるためです。

$nvpstr = "";
$nvpstr .= "&METHOD=SetExpressCheckout";
$nvpstr .= "&VERSION=74.0";
$nvpstr .= "&LOCALECODE=".$this->localecode;
$nvpstr .= "&CURRENCYCODE=EUR";
$nvpstr .= "&RETURNURL=".$this->RETURN_URL_PLANUPGRADE;
$nvpstr .= "&CANCELURL=".$this->CANCEL_URL_PLANUPGRADE;
$nvpstr .= "&NOSHIPPING=1";
$nvpstr .= "&LANDINGPAGE=Billing";
$nvpstr .= "&BILLINGTYPE=RecurringPayments";
$nvpstr .= "&BILLINGAGREEMENTDESCRIPTION=" . urlencode('billing agreement description');

$nvpstr .= "&PAYMENTREQUEST_0_PAYMENTACTION=Sale";
$nvpstr .= "&PAYMENTREQUEST_0_DESC=" . urlencode('payment description');
$nvpstr .= "&PAYMENTREQUEST_0_CURRENCYCODE=EUR";
$nvpstr .= "&PAYMENTREQUEST_0_ITEMAMT=".$data['Payment']['item_amt'];
$nvpstr .= "&PAYMENTREQUEST_0_TAXAMT=".$data['Payment']['item_tax'];
$nvpstr .= "&PAYMENTREQUEST_0_AMT=".$data['Payment']['amt'];;

$nvpstr .= "&L_BILLINGTYPE0=RecurringPayments";
$nvpstr .= "&L_BILLINGAGREEMENTDESCRIPTION0=". urlencode('description');
$nvpstr .= "&L_PAYMENTTYPE0=Any";
$nvpstr .= "&L_PAYMENTREQUEST_0_ITEMCATEGORY0=Digital";
$nvpstr .= "&L_PAYMENTREQUEST_0_NAME0=". urlencode('item name');
$nvpstr .= "&L_PAYMENTREQUEST_0_DESC0=" . urlencode('item description');
$nvpstr .= "&L_PAYMENTREQUEST_0_AMT0=".$data['Payment']['item_amt'];
$nvpstr .= "&L_PAYMENTREQUEST_0_TAXAMT0=".$data['Payment']['item_tax'];
$nvpstr .= "&L_PAYMENTREQUEST_0_QTY0=1";

誰かが同じ問題に遭遇し、私を正しい方向に向けることができることを願っています。たぶん、オプション「paymentaction」はドイツのプレミアアカウントでは機能しないか、他に何かが欠けています...?

4

1 に答える 1

4

私も同じ問題を抱えています。これが PayPal サポートからの回答です。


xxx 様

PayPal マーチャント テクニカル サービスにお問い合わせいただきありがとうございます。

肯定的な回答をしたいのですが、残念ながら、エクスプレス チェックアウト定期支払い API は現在、ドイツの購入者にはサポートされていません。これらのドイツの購入者は、ドイツの資金源が定期支払い API でサポートされていないため、このエラーがスローされるため、常にエラーが発生します。大変申し訳ありませんが、ドイツのバイヤーはこのサービスを利用できません。これを回避する唯一の方法は、統合を変更し、事前承認済み支払いまたは参照トランザクション API を使用してドイツの定期支払いを処理することです。

https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECReferenceTxns

https://www.x.com/devzone/articles/recurring-payments-reference-transactions-and-preapproved-payments


于 2012-07-05T09:55:04.090 に答える