PAYPAL SDK 开发Express Checkout注意事项

今年的PAYPAl可谓是用力实足,接口虽与去年差别不大,但是仍然有小变动容易让开发者彩坑。

我提几点注意事项,方便大家在今年开发中少走点弯路。

如果你还没有开始PHP开发,分享不错的PHP向教学视频:https://www.youtube.com/watch?v=BD1dOWIABe0 虽然要翻墙看,推荐!

首先我用的包是官方的:composer requre “paypal/rest-api-sdk-php”。 (这份SDK里是有DEMO代码的在Sample目录里)

PP的流程:

一句话来说,确认订单的权利是交给开发者用户去触发的,而非支付平台自己确认。

手册地址:https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/,看这一份就够了。

请求三部曲

HAL

就三个请求搞定与PP的通信。分别是:发送订单信息、请求支付链接、确认支付。

说下开发者要做的事。首先根据项目需求设计合适的UI、场景。无论你是跳转支付(PHP)的方式还是弹窗的方式(JS),只是步骤上,JS比PHP多几个与自己服务器请求的次数而已(JS DEMO:https://developer.paypal.com/demo/checkout/#/pattern/server)。

说一下跳转支付:首先,开发者将订单信息准备好,请求PP创建订单,将PP返回的payment_id保存。再获取了支付链接,跳转到支付链接。待用户登录、支付后,PP会返回到你指定的return url。这时,你可以选择最终再显示一次订单确认页面,并等待用户点击确认。也可以直接就帮用户确认,只需要请求SDK的里Payment类的execute()就可以。这就是为什么不需要异步通知的原因,因为主动权在开发者手里。

注意事项

  1. 不需要IPN(Instant Payment Notification),不用考虑异步接收通知(Notify)。
  2. 记得在一开始把payment_id和你网站的order_id一起保存到一个独立的数据表。因为接下来PP的每一次请求返回的内容里都不会给你order_id。
    111
    222
  3. return url时,没有success、status这种传参了。但在官方DEMO里还有着错误示范 :/vendor/paypal/rest-api-sdk-php/sample/payments/ExecutePayment.php ,包括线上的WIKI:http://paypal.github.io/PayPal-PHP-SDK/
    33333

原创文章,转载请注明: 转载自konakona

本文链接地址: PAYPAL SDK 开发Express Checkout注意事项

团哥

继续玩我的CODE,让别人说去。 低调,就是这么自信。

You may also like...