通过 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服务

在PHP中使用文字xml的SOAP

通过 SOAP 实现 GMT php 或 UTC C# 等价

如何在symfony 控制器里面创建soap web service

php 如何利用 soap调用.Net的WebService asmx文件

无法启用 PHP SOAP