1

我正在与 Paypal 进行定期支付集成,此时主要功能运行良好。我有一个问题,虽然我无法解决,所以我想也许这里有人遇到了同样的问题,可能会给我一个提示。

为了测试对定期付款的订阅,我创建了一个卖家账户。卖家位于德国。

然后我创建了一些其他的测试账户来代表买家。我创建了一位代表德国客户的买家和一位代表美国 byuer 的买家。

当我被重定向到 Paypal 登录页面(结帐,购物车显示在左侧等)时,我可以使用美国帐户正确登录,同意付款并被重定向,一切都很好。

但是当我尝试使用德国测试帐户时,我总是在登录后直接出现一个页面,上面写着“此时无法处理付款。请返回卖家页面并选择其他付款方式”。

我将问题归结为一个令人惊讶的事实,那就是当我尝试使用沙盒的测试帐户部分中标记为“高级”的测试帐户登录时,我总是会收到此错误。所有(!)标记为“个人”的其他测试帐户都可以正常工作。

我正在使用 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 商家技术服务。

尽管我想给您一个肯定的答案,但不幸的是,德国买家目前不支持 Express Checkout Recurring Payment 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 回答