我正在与 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”不适用于德国总理帐户,或者缺少其他任何东西......?