Paypal Express Guest Checkout强制用户在PayPal上创建账户
问题描述:
我面临一个问题,即向用户提供访客结账(可选)功能。我已经尝试了几乎所有的解决方案,但仍然强迫用户在paypal上创建一个帐户。我目前的网站是基于laravel。在我基于Wordpress的旧网站上,客户结帐工作正常,我使用的是一个插件,但在当前基于Laravel的网站上,客户结帐选项根本无法工作。我正在使用这个插件https://github.com/srmklive/laravel-paypal。我加了几行中的src /服务/ ExpressCheckout.php在setExpressCheckout功能,所以setExpressCheckout看起来像现在这样:Paypal Express Guest Checkout强制用户在PayPal上创建账户
public function setExpressCheckout($data, $subscription = false)
{
$this->post = $this->setCartItems($data['items'])->merge([
'PAYMENTREQUEST_0_ITEMAMT' => $data['total'],
'PAYMENTREQUEST_0_AMT' => $data['total'],
'PAYMENTREQUEST_0_PAYMENTACTION' => $this->paymentAction,
'PAYMENTREQUEST_0_CURRENCYCODE' => $this->currency,
'PAYMENTREQUEST_0_DESC' => $data['invoice_description'],
'PAYMENTREQUEST_0_INVNUM' => $data['invoice_id'],
'NOSHIPPING' => 0,
'SOLUTIONTYPE' => 'Mark',
'LANDINGPAGE' => 'Billing',
'USERSELECTEDFUNDINGSOURCE' => 'CreditCard',
'ADDROVERRIDE' => 1,
'RETURNURL' => $data['return_url'],
'CANCELURL' => $data['cancel_url'],
'LOCALE' => $this->locale,
]);
$this->setExpressCheckoutRecurringPaymentConfig($data, $subscription);
$response = $this->doPayPalRequest('SetExpressCheckout');
$response['paypal_link'] = $this->config['gateway_url'].'/webscr?cmd=_express-checkout&token='.$response['TOKEN'];
return $response;
}
我的老贝宝网站页面看起来像这样,在用户没有被迫创建一个PayPal帐户:
我现在的网站贝宝页面看起来像这样,在用户已经加入贝宝。
注:这两个网站都是相同的Paypal帐户,因此,如果客户结帐工作的一个网站,那么它应该再工作了。
任何人都可以请帮助我我在这里失踪。您的建议和帮助将受到高度赞赏。
谢谢。
答
你可以尝试改变你所喜欢通过下面给出您的CMD值:
$response['paypal_link'] = $this->config['gateway_url'].'/webscr?cmd=_cart&token='.$response['TOKEN'];
也不会要求建立帐户,用户可以检出与贝宝的客人。
我试过你的建议,但它仍然无法正常工作。 –