使用 REST SDK 的 PayPal In-Context Checkout
PayPal In-Context Checkout with REST SDK
我正在使用 PHP REST SDK 进行快速结帐,我的代码基于此示例:http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreatePaymentUsingPayPal.html
这很好用,但我不确定如何将它与新的 In-Context 结帐集成。据我了解,我只需要 EC 令牌,这样我就可以将它与上下文结帐一起使用,并获得 URL 这样的 https://sandbox.paypal.com/checkoutnow?token=EC-TOKEN
,但我找不到如何获取 EC 令牌只要。
使用 REST SDK 创建付款时,您得到的只是批准 url https://sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-TOKEN
。我 可以 从 URL 中提取令牌,但这似乎不是一个好主意。必须有办法获得 EC 令牌,除非我做错了什么。
很明显,REST API 还不能与 In-Context 一起工作,但如果有人想让它工作,这里有一行简单的 PHP 来改变 approval_url 到 In-Context url( 仅用于测试目的,在我们获得官方支持之前,我不建议在产品中使用它):
$approvalUrl = str_replace('cgi-bin/webscr?cmd=_express-checkout&', 'checkoutnow?', $payment->getApprovalLink());
如果您想在不篡改重定向的情况下调用上下文体验,请使用以下技巧 url
- 将脚本放入您的前端页面:
<script>
(function(d, s, id) {
var js, ref = d.getElementsByTagName(s)[0];
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.async = true;
js.src = "//www.paypalobjects.com/js/external/paypal.v1.js";
ref.parentNode.insertBefore(js, ref);
}
}(document, "script", "paypal-js"));
</script>
- 将带有数据标签的按钮放入您的表单代码中:
<input type="image" data-paypal-button="true" data-paypal-sandbox="true" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal" />
通过这种方式,您可以将表单提交到您的 REST api 结帐页面,并仅使用前端代码控制内部重定向
我正在使用 PHP REST SDK 进行快速结帐,我的代码基于此示例:http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreatePaymentUsingPayPal.html
这很好用,但我不确定如何将它与新的 In-Context 结帐集成。据我了解,我只需要 EC 令牌,这样我就可以将它与上下文结帐一起使用,并获得 URL 这样的 https://sandbox.paypal.com/checkoutnow?token=EC-TOKEN
,但我找不到如何获取 EC 令牌只要。
使用 REST SDK 创建付款时,您得到的只是批准 url https://sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-TOKEN
。我 可以 从 URL 中提取令牌,但这似乎不是一个好主意。必须有办法获得 EC 令牌,除非我做错了什么。
很明显,REST API 还不能与 In-Context 一起工作,但如果有人想让它工作,这里有一行简单的 PHP 来改变 approval_url 到 In-Context url( 仅用于测试目的,在我们获得官方支持之前,我不建议在产品中使用它):
$approvalUrl = str_replace('cgi-bin/webscr?cmd=_express-checkout&', 'checkoutnow?', $payment->getApprovalLink());
如果您想在不篡改重定向的情况下调用上下文体验,请使用以下技巧 url
- 将脚本放入您的前端页面:
<script>
(function(d, s, id) {
var js, ref = d.getElementsByTagName(s)[0];
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.async = true;
js.src = "//www.paypalobjects.com/js/external/paypal.v1.js";
ref.parentNode.insertBefore(js, ref);
}
}(document, "script", "paypal-js"));
</script>
- 将带有数据标签的按钮放入您的表单代码中:
<input type="image" data-paypal-button="true" data-paypal-sandbox="true" src="https://www.paypalobjects.com/webstatic/en_US/i/buttons/checkout-logo-large.png" alt="Check out with PayPal" />
通过这种方式,您可以将表单提交到您的 REST api 结帐页面,并仅使用前端代码控制内部重定向