首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

境外支付平台PayPal接口的开发过程

名词定义

用户:在我们网站上交易的客户。

支付网关:是我们商户和PayPal对接的系统。

商户系统:充值成功后用于发货的系统。

PayPal:是海外的一家支付平台。

PayPal官网地址

官网:https://paypal.com

开发者网站:https://developer.paypal.com

沙盒地址:https://www.sandbox.paypal.com/

Demo地址:https://demo.paypal.com

序列图

用户登录我们的网站,选择好商品之后,点击使用PayPal付款,直到用户户看到付款成功。对应的序列图如下:

我们就是要做上图这么一件事,下面是详细的开发步骤。

一、注册个人账号

注册地址:https://www.paypal.com/us/webapps/mpp/account-selection

选择即可。

只需按部就班填写即可,此处不再截图注册流程。

二、创建测试账号

开发者网站:https://developer.paypal.com/

用上面注册的账户登录开发者网站,在工作台上创建一个商户账号和一个买家账号,用于开发和测试。

在创建买家账户的时候,别忘了给买家账户里多加一些钱。

三、获取clientId和secret

在调用REST API时要在请求头中加入token,而token是用clientId和secret获取的。

四、获取token

其中tokenUrl为:https://api.sandbox.paypal.com/v1/oauth2/token

对应接口文档地址:https://developer.paypal.com/docs/api/overview/#make-your-first-call

注意:token具有时效性。

五、预交易(下单)

这是一个预交易接口,即调用后不会真正的发生金钱交易,只是告诉PayPal有个用户一会要支付1000元买手机,你给我生成一个支付链接,我把这个链接给用户,让他去到你网站支付。调用此接口后会返回支付链接和查询此交易的查询链接。

是一个实体类,和接口文档中的请求json结构一致。

是用户确认付支付后,PayPal向我们商户跳转的连接,PayPal会带有一些参数,同时我们也可以把我们的流水号放进去。

是用户在paypal界面点击取消付款后,paypal想我们商户跳转的连接。

到此,用户已经拿到了付款连接,可以跳转到paypal进行付款了。

对应接口文档地址:https://developer.paypal.com/docs/api/payments/v1/#payment_create

六、执行付款

当用户在paypal界面完成付款后,paypal就会重定向到我们送给他的:

其中executeUrl为:https://api.sandbox.paypal.com/v1/payments/payment

注意:不能在此方法内调用商户系统进行发货,因为这个请求可能不是paypal发来的,我们应该是后台通知时再通知商户系统发货。

对应的接口文档地址:https://developer.paypal.com/docs/api/payments/v1/#payment_execute

后台通知

可以使用卖家账户登录沙盒环境,点击”卖家习惯设定“ > “收款和管理我的风险” > “即时付款通知”。

直达链接:https://www.sandbox.paypal.com/c2/cgi-bin/webscr?cmd=_profile-display-handler&tab_id=SELLER_PREFERENCES

其中checkUrl:https://www.sandbox.paypal.com/cgi-bin/webscr

对应接口文档地址:https://www.paypal.com/us/cgi-bin/webscr?cmd=p/acc/ipn-info-outside

七、单笔查询

如果我们没收到后台通知怎么办?这时候就可以通过单笔查询主动去paypal查询订单状态。

其中queryUrl:https://api.sandbox.paypal.com/v1/payments/payment

paymentId是在预交易接口返回的。

对应接口文档地址:https://developer.paypal.com/docs/api/payments/v1/#payment_get

批量查询

如果我们需要日终对账,那么就要用到批量查询接口。但是此接口不大符合我的需要,因此我没用这个接口,而是循环使用单笔查询代替的。

对应接口文档地址:https://developer.paypal.com/docs/api/payments/v1/#payment_list

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181026G1SOEB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券