1 文档及资源:
开发者站点:
https://developer.paypal.com/
demo及sdk下载地址:
iOS:
https://github.com/paypal/PayPal-iOS-SDK
android:
https://github.com/paypal/PayPal-Android-SDK
2
PayPal移动支付的特点
Paypal提供多种服务,如web支付,使用PayPal登陆,广告,移动支付sdk等。
本次调研重点放在移动支付方面,针对移动支付PayPal提供支付rest api及基于此
api的移动支付sdk(包括android和iOS)。
PayPal移动SDK主要特性如下:
a) 接受信用卡和PayPal支付 :开发者能够简单地将PayPal和信用卡支付集成到应用之中,信用卡支持手动输入和摄像头扫卡。
b) 未来支付 :一旦客户将PayPal账户授权给开发者的应用中,使用PayPal付款时就无需再次登陆,此功能用户可设置。
未来支付的详细说明文档:
https://developer.paypal.com/webapps/developer/docs/integration/mobile/make-future-payment/
c) 原生用户体验 :开发者可以提供无缝支付体验,用户付款时无需重定向到新页面,即可完成支付。
3
PayPal Rest API目前支持的国家及货币种类与限制
https://developer.paypal.com/webapps/developer/docs/integration/direct/rest_api_payment_country_currency_support/
4
使用PayPal SDK
1)注册应用
使用api或sdk前你必须先注册一个开发者账号,然后创建自己的应用。
https://developer.paypal.com/webapps/developer/applications/myapps
2)应用参数及设置。
创建完应用后,针对单独app,系统会提供你测试环境和正式环境的账号、服务器地址、
Client ID与Secret。
这些参数是你使用sdk或api时需要的。针对每个app后台还提供了“是否接受付款”和“是否使用Paypal登陆”的设置开
关, 这些设置还提供了高级选项,比如登陆的高级设置里你可以设置通过oauth从用户那里获得那些信息。
sdk或api中的所有功能在测试环境都是开启的,但是正式环境某些功能需要你根据需要手动去后台开启,如“直接使
用信用卡”,“未来支付”,这个设置是针对整个开发者账号的。
3
)sdk使用说明及支付流程
iOS和android sdk均支持
Single Payment(信用卡与PayPal支付) 和 Future Payments(未来支付)
各平台
代码集成和项目配置参见个demo以及demo提供的文档。
Single Payment 支付流程:
1 sdk展现UI,获得用户交易信息
2 确认并发送支付信息到Paypal,完成支付动作。
3 sdk返回Paypal的支付响应信息给我们。
4 将支付响应信息发送给我们自己的服务器进行验证。
我们自己的服务器需要调用Paypal提供的服务api来验证支付的真实性。
5 提供用户所购买的商品或服务。
Future Payments 支付流程
1 展现UI让用户使用自己的Paypal账户对应用授权。
2 询问用户是否同意使用Paypal“未来支付”的服务(使用OAuth2协议)。
3 如果用户同意,sdk与Paypal OAuth server通信,返回
OAuth2 authorization code 给应用。
4 应用将拿到的code发给自己的服务器,authorization code的生命周期也非常短暂,拿到后就立即
给自己的server。
5 服务器使用code去换取access token(shot-lived)和refresh token(long-lived,10年),服务器
需要存储该token,以便后面可以直接执行该用户的支付操作。
6 当之后有“未来支付”行为发生的时候,客户端将一个应用相关的id(该id由sdk生成)和交易信息发送给自己
的服务器。
7 服务器使用该id(放在http header里,key为
Paypal-Application-Correlation-Id
),oath token和交易信息去
创建支付。服务器首先要使用互用的refresh token换取最新的access token,服务器端具体操作可参见
demo中的文档,在线文档:
https://github.com/paypal/PayPal-iOS-SDK/blob/master/docs/future_payments_server.md
future payments文档
https://developer.paypal.com/webapps/developer/docs/integration/mobile/make-future-payment/
5
使用PayPal Rest API
1)API 使用demo:
https://developer.paypal.com/webapps/developer/docs/integration/direct/make-your-first-call/
2)API 文档:
https://developer.paypal.com/webapps/developer/docs/api/
6 测试注意事项
https://developer.paypal.com/webapps/developer/docs/integration/direct/test-the-api/
7 上线
上线正式环境需要申请商业账户,确保绑定了提款账户。