我正在与Paypal进行定期付款集成,此时主要功能正常。我有一个问题,虽然我无法解决,所以我想也许这里有人遇到了同样的问题,可能会给我一个提示。Paypal - API结帐(建议付款) - 沙盒测试帐户 - 德国帐户始终设置为“Premier”
为了测试对定期付款的订阅,我创建了一个卖家帐户。卖家位于德国。
然后我创建了一些其他测试帐户来代表买家。我创建了一位买家来代表一位德国客户,代表一位美国代表。
当我重定向到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”不适用于德国总理帐户,或者其他任何东西缺失......?