啥都不说,先吐槽
Paypal 真心坑爹,跟国内支付完全没法比,能不接入就不接入吧!!!
准备工作
重要事情
Paypal下单支付后,需要主动跟paypal确认收款(capture),否则该笔订单并不是完成状态!!!
账号
自己前往Paypal develop注册一个吧,注意区分沙箱(sandbox)和正式(live)账号即可。
用沙盒账号开发,还可以创建多个沙盒的paypal账号,可以用于沙盒测试支付。
下单方式
跟国内的支付宝和微信有区别,paypal可以直接在客户端下单。
支持客服端、服务端下单。各有利弊,看具体需求来定咯
- 客服端下单,可以调起Paypal APP(ios 和 android), 缺点是服务端无法及时知晓下单过程,需要客户端及时通知
- 服务端或者webhooks服务端下单,只能打开paypal 网页支付。
无论何种下单,paypal 都没有采用加密机制,全部都是明文,所以在检校订单信息时需要格外注意
客户端下单
- JavaScript
- ios sdk
- android sdk
客服端直接下单,需要保证客服端接收到的订单信息时准确的(最好后端加密订单信息,客户端解密并检验数据完整性)
JavaScript
JavaScript直接接入,是通过paypal js直接生成一个iframe用于支付。
其中需要注意的是,paypal生成的按钮只有几个基本样式可选,无法直接自定义样式(我是没有找到相关文档,不排除可以自定义的可能。如果有麻烦也告诉下我)。
使用方式
// 如果默认货币不是美元,需要在后面添加货币参数 <script src="/UploadFiles/2021-04-02/js">paypal.Buttons({ createOrder: function(data, actions) { // This function sets up the details of the transaction, including the amount and line item details. return actions.order.create({ purchase_units: [{ amount: { value: '0.01' } }] }); }, onApprove: function(data, actions) {}, onCancel: function(){}, onError: function(){} }).render('#paypal-button-container');虽然目前无法自定义按钮,但是我们可以是paypal生成的按钮隐藏,用自己的按钮盖住,然后是设置css属性
pointer-events:none;
来屏蔽事件即可。Ios || android
Ios 和 andorid 的接入方式与JavaScript类似,只要引入相应的SDK,非常简单的就可以下单。SDK quickstart
服务端下单(推荐)
因为paypal没有采用加密机制,同时在弱网情况下无法保证客户端可以及时通知服务端订单状态的改变,选用服务端下单是相对安全的。
建议在下单时,发送完整的订单金额信息,paypal会对相关金额做检校,如果更方面金额不一致(总价 !== 运费+税费+商品数量 * 商品单价+…… ),是不能下单的。同时也可以让买家确认该笔订单的明细,用户体验和安全性都有提高。
顺便吐槽下paypal的沙盒环境,如果你请求超时,请不要见怪,这不是你的问题,是沙盒环境太烂。(PS:不知道是不是与服务端语言相关,PHP和nodejs对接paypal,性能差别很大,同一时间,同一个沙盒账号,nodejs请求基本保持在5s以内,php在15s左右)
基本下单参数
{ "intent": "CAPTURE", "purchase_units": [ { "reference_id": "order_id", // 总价 "amount": { "value": "200", "currency_code": "RMB" }, // 价格明细 "breakdown": { // 商品总价 "item_total": { "value": "180", "currency_code": "RMB" }, // 运费 "shipping": { "value": "20", "currency_code": "RMB" } // …… 还有税费之类的 }, // 商品明细 "items": [ { "name": "goods", "unit_amount": { "value": "90", "currency_code": "RMB" }, "quantity": 2,// 数量 "sku": "sku" } ] //...地址之类的其他参数 } ], "application_context": { "cancel_url": "", "return_url": "" } }支付时序图
再次强调: Paypal下单支付后,需要主动跟paypal确认收款(capture),否则该笔订单并不是完成状态!!
notify
支付回调可以通过IPN或者webhooks,基本和国内支付没有什么区别,唯一区别是paypal通知没有加密,收到回调需要服务端主动跟paypal确认信息是否正确
相关链接
PayPal Checkout
PayPal integrate doc
PayPal SDK quickstart
point-events
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]