通过 PHP SOAP SDK 使用“买家在 PayPal 上付款”
Posted
技术标签:
【中文标题】通过 PHP SOAP SDK 使用“买家在 PayPal 上付款”【英文标题】:Using the "Buyer Pays on PayPal" with the PHP SOAP SDK 【发布时间】:2012-08-25 00:44:56 【问题描述】:我已将 PayPal 快速结账功能集成到在线商店中。在客户在 PayPal 网站上填写表格并且 PayPal 将她/他重定向回商店后,我立即拨打 DoExpressCheckout 电话。但是在 PayPal 表单中,最后一步中按钮的名称是“Proceed”(或类似名称)。还有一个说明,买家可以在下一步完成他/她的订单。
我在这里发现了一个注释,可以更改按钮的标签:
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_ECCustomizing
(页面末尾的“买方在 PayPal 上付款”一章)。
我正在使用 php SOAP SDK (merchant-php-1.1.93_0.zip)。如何使用该 SDK 实现此功能? \SetExpressCheckoutRequestDetailsType
中没有参数useraction
。将PaymentAction
设置为Sale
也不会改变任何内容。
【问题讨论】:
【参考方案1】:useraction 不是 API 调用的参数。它是您将客户发送到 PayPal 时传递的 GET 参数。
I downloaded the PHP SDK again just to ensure I had up to date info when answering your question.
从 'samples\ExpressCheckout\SetExpressCheckout.php' 的第 82 行开始:
if($setECResponse->Ack =='Success')
$token = $setECResponse->Token;
// Redirect to paypal.com here
$payPalURL = 'https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=' . $token;
将“$payPalURL”更改为
$payPalURL = 'https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&useraction=commit&token=' . $token;
此外,“paymentaction”参数决定您的交易是销售还是授权。除非您有无法立即发出的订单,否则这应该始终是销售(这只适用于实物商品,数字商品应该始终是“销售”)
【讨论】:
再次感谢您!你帮了我很多!以上是关于通过 PHP SOAP SDK 使用“买家在 PayPal 上付款”的主要内容,如果未能解决你的问题,请参考以下文章
soapURL通过PHP中的Soap调用C #Windows服务
通过 SOAP 实现 GMT php 或 UTC C# 等价
如何在symfony 控制器里面创建soap web service