官网文档:

PayPal Express Checkout

申请自己的Paypal SandBox:

申请SandBox地址

HTML页面:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Title</title><script src="https://www.paypal.com/sdk/js?currency=HKD&client-id=YOU_CLIENT_ID" ></script></head>
<body><div id="paypal-button-container"></div></body>
<script>...
</script>
</html>

快捷支付V1与V2版参数格式,js引入地址都是有区别的。

V1与V2区别

1. 引入js地址

V1:

<script src="https://www.paypalobjects.com/api/checkout.js"></script>

V2:

<script src="https://www.paypal.com/sdk/js?currency=HKD&client-id=YOU_CLIENT_ID" ></script>

V1中client_id与币种都是能直接在请求的json参数中设置,但是在V2版本中却只能再js的链接中设置。(不知道是不是我自己没弄明白的原因)

2. 请求json参数:

V1:

<script>paypal.Button.render({locale: 'zh_CN', // or en_USenv: 'sandbox', // or sandboxcommit: true, // Show a 'Pay Now' buttonclient: {sandbox: 'AYYRdbFHaWbys--n7ykGaCqka4vmfPcOH5gVDWvjGF_78Xt3QccnPYlUgulbZqsBdYAR1WIk_6u1kGUh',production: '***'},style: {size: 'small',color: 'silver',shape: 'pill',label: 'checkout',tagline: false},payment: function (data, actions) {return actions.payment.create({payment: {transactions: [{amount: {total: '20', currency: 'HKD'}}]}});},onAuthorize: function (data, actions) {return actions.payment.execute().then(function (payment) {console.log(payment);$.ajax({type: 'POST',url: '/callback',data: {params: payment}}).done(function (data) {if (data == '0') {alert('The payment is complete!');// window.location.reload();} else {alert('pay fail')}})});},onCancel: function (data, actions) {console.log(data);console.log(actions);alert('取消支付');},onError: function (err) {console.log(err);/** An error occurred during the transaction*/}}, '#paypal-button-container');
</script>

V2:


<script>paypal.Buttons({createOrder: function (data, actions) {return actions.order.create({purchase_units: [{//invoice_id: 'TEST20190627', //自己的商品流水号,必须唯一reference_id: '30',amount: {value: '40',currency_code: "HKD",breakdown: {item_total: {currency_code: 'HKD',value: '40'}}},items: [{name: '测试商品',unit_amount: {currency_code: 'HKD',value: '10'},quantity: '2',sku: '编号:25',category: 'DIGITAL_GOODS'},{name: '测试商品2',unit_amount: {currency_code: 'HKD',value: '10'},quantity: '2',sku: '编号:26',category: 'DIGITAL_GOODS'}]}]});},onApprove: function (data, actions) {return actions.order.capture().then(function (details) {alert('Transaction completed by ' + details.payer.name.given_name);// Call your server to save the transactionconsole.log(details);console.log(data);console.log(actions);return fetch('/action', { // 填写自己的后台地址method: 'post',headers: {'content-type': 'application/json'},body: JSON.stringify(details)});});},///*onShippingChange: function (data, actions) { //限制某些地方不可购买,或者某些地方有折扣(具体可看官方文档)return actions.reject(); },*/onCancel: function (data) {console.log("取消支付:");console.log(data);alert('取消支付');}}).render('#paypal-button-container');
</script>

1) V2中的参数必须每个都设置currency_code否则会发起支付不成功

2) V2中多个商品必须设置breakdown属性

以上就是我的个人记录,也就是瞎写写,只能最简单的发起支付收到结果。如果有什么好的建议或者有什么问题也可以提出来大家一起讨论一下。

Paypal快捷支付相关推荐

  1. paypal快捷支付跳转(opencart版)

    Paypal跳转已经流行了快4年了,前几年开发的一些基于paypal标准模式的跳转插件也被一些SB商家到处倒卖,赚钱之余还不忘把插件上的开发者备注成自己.但因为他们根本没能力解决一些客户的模板二次开发 ...

  2. Paypal 在线支付接口

    http://www.paypal-china.org/wangzhai/188.html 关于paypal在线支付的信息可以直接访问http://www.paypal.com.paypal作为国际在 ...

  3. 怎么开通游戏快捷支付(已解决)

    在现在的智能时代,快捷支付逐渐开始代替纸币支付,快捷支付的安全性和便捷性也有了明显的提高.特别是对于网络游戏来说开通快捷支付是必不可少的一步. 快捷支付是指用户在支付的过程中,无需开通网银,只需要相对 ...

  4. php集成paypal付款流程,在PHP中集成PayPal标准支付

    PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下 1,在网站的结账页面,设置一个提交到PayPal网站的form,里面有一些金额,商品名称,商家收款账号.结账成功 ...

  5. 【转】快捷支付详解--比较详细

    现代支付系统设计相关的博客地址 http://blog.lixf.cn/ 快捷支付指用户在电商网站上执行支付时,不需要输入卡信息,仅根据短信或者其他的验证方式确认身份后,就可以执行扣款的支付方式. 这 ...

  6. 网上支付、协议支付与快捷支付区别

    区别 网上支付 快捷支付(以支付宝为例) 协议支付(以支付宝卡通为例) 客户体验 支付时需要输入银行账号和交易密码等多个步骤才能完成支付. 支付时只需输入支付宝账户的支付密码(或无需输入)即可完成支付 ...

  7. PHP中集成PayPal标准支付

    前两天一个客户需要在网站上集成PayPal支付功能,查了一下资料,简单记录如下: PayPal支付功能其实一直在更新文档和接口,这里说的是一个简单的支付功能大概流程如下 1,在网站的结账页面,设置一个 ...

  8. ese如何实现支付 nfc_海运费如何实现快捷支付?答案有了

    快捷支付时代,海运费支付能否更简单?"航运在线通"给出了答案. 1月9日,中国银行天津市分行举行了"航运在线通"产品发布会.天津市商务局.天津市金融局.天津市税 ...

  9. Paypal 在线支付接口应用从零开始,第2节,[支付API原理及流程]

    今天看看Paypal支付流程和简单的认证原理,我画了一张图.应该能表达这两点意思了 我们的站点名字,为了好理解,暂且就定为西狐的网站吧. 点此查看清晰原图 恩,理论知识很重要哈,先把这图理解了,下一步 ...

最新文章

  1. 六大“未来式”存储器,谁将脱颖而出?
  2. vue 怎么在字符串中指定位置插入字符_vue 我想在一个字符串中间加入一个/br 该怎么写?...
  3. tkinter回调异常_使用matplotlib保存动画时Tkinter回调出现异常
  4. ANDROID ASSET STUDIO
  5. java的poi导入Excel文件
  6. onenote创建快速笔记--此分区尚不可用,它是从其他设备添加的,该设备同步后才将可用
  7. testflight开发者已将您从测试计划中移除_使用 TestFlight 测?试 App
  8. 137. 只出现一次的数字 II
  9. Web Api无法访问 404
  10. html控制图的宽,用JointJS做一个简单的功能控制图
  11. 用Visual C#实现文件下载
  12. The Future Of Mobile Development: HTML5 Vs. Native Apps
  13. Sharepoint 浅谈 [转]
  14. AngularJS的内置过滤器 1
  15. 凸优化有关的数值线性代数知识 作业题
  16. 2022-2028全球石油管材接头行业调研及趋势分析报告
  17. Jenkins 打包配置
  18. 利用开源 SNI PROXY+DNSMASQ 工具链实战 Netflix 流媒体解锁
  19. 机器人仿生控制方法研究
  20. python crc计算

热门文章

  1. 实习笔记Day9(2022.8.17)
  2. Windows安装Python框架Scrapy报错的解决方法
  3. linux 问答式学习
  4. Mac 指定node版本安装
  5. 跑步-01 记录20170213
  6. catia在装配体中编辑零件_CATIA-V5-在装配体中新建零件并插入
  7. 优思学院|六西格玛管理是什么?六西格玛对企业管理有什么好处?
  8. Transformer小白入门
  9. javascript调用百度地图api
  10. 整理的C++面经(较全)