Paypal - API Checkout(建议付款) - 沙盒测试帐户 - 德国帐户始终设置为“Premier”

时间:2012-06-29 16:09:14

标签: paypal-sandbox

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

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

然后我创建了一些其他测试帐户来代表买家。我创建了一个代表德国客户的买家和一个代表美国拜托的客户。

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

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

我将问题追溯到一个令人惊讶的事实,那就是当我尝试使用在沙箱的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”不适用于德国高级账户,或者其他任何东西都缺失......?

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题,这是PayPal支持的答案:


亲爱的xxx,

感谢您与PayPal商户技术服务部联系。

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