首页 > 解决方案 > Paypal-Merchant-SDK:如何使用 SetExpressCheckout.php 仅获取令牌,然后将其传递给 CreateRecurringPaymentsProfile.php?

问题描述

请任何人一步一步地向我解释,因为我对 Paypal 给我们的示例“SetExpressCheckout.php”感到非常困惑,它包含很多东西,我只想生成一个令牌,这样我就可以创建一个 Recurring使用“CreateRecurringPaymentsProfile.php”的付款资料

请帮忙,我已经阅读了一些教程,但从未从一开始就展示如何开始创建订阅或定期付款。

我正在使用 Merchant-SDK-PHP:https ://github.com/paypal/merchant-sdk-php

万一有人想知道我为什么要使用 Paypal 的经典 API,那是因为 REST API 在创建订阅时没有隐藏送货地址的选项,并且 Web 体验无法附加到计划或协议中。

标签: paypalpaypal-subscriptions

解决方案


这很令人困惑,因为当您在示例页面中时,您无法找到在使用 SetExpressCheckOut.php 获取令牌后应该做什么。

因此,要将令牌传递给 CreateRecurringPaymentsProfile.php,在 SetExpressCheckOut.php 的末尾,您需要将客户重定向到 > https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token= $令牌

$token 是您在 SetExpressCheckOut.php 中使用的令牌:

$setECResponse = $paypalService->SetExpressCheckout($setECReq);
$token = $setECResponse->Token;

在重定向之前确保(在您的 SetExpressCheckOut.php 中)$setECReqDetails->ReturnURL是指将触发 CreateRecurringPaymentsProfile.php 的链接

在我的情况下,我使用的是 Laravel $setECReqDetails->ReturnURL = "domain.com/createsub" 而我的路线是:Route::get('createsub', 'PaypalContoller@CreateRecurringPayments') 所以在 CreateRecurringPayments 方法中,我将 CreateRecurringPaymentsProfile.php 示例中的所有内容都放入其中。

注意:当您上线时,您需要从链接中删除沙箱:> https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token= $token


推荐阅读