支付宝支付
沙箱应用@模拟支付宝支付
蚂蚁金服开放平台
网址: https://openhome.alipay.com/platform/home.htm
前提:
1、用支付宝扫码登录
2、注册个人信息
- 服务商登录 ,点击进入我的开放平台;
- 开发者中心 ,研发服务----->沙箱----->沙箱应用----->查看应用公钥----->应用公钥;
使用
1、文档中心----->开发文档----->搜索RSA----->生成RSA**
网址: https://docs.open.alipay.com/291/105971
2、下载工具
RSA加密
支付宝中:
私钥(加密) 公钥(解密)
3、沙箱应用
3.1 复制公钥
3.2 验证公钥正确性
注意点:
-
私钥和公钥必须一致
-
注意复制的时候不要复制错,或者打开文本进行复制
4、示例
4.1 生成描述包 package.json
npm init -y
4.2 说明
Node服务端生成支付宝支付请求URL,支持 沙箱环境 和 生产环境
支付宝网关地址说明
沙箱网关地址:https://openapi.alipaydev.com/gateway.do
生产环境网关地址:https://openapi.alipay.com/gateway.do
请求必填参数说明参考:https://docs.open.alipay.com/203/107090/
网址: https://www.npmjs.com/package/alipay_for_node
安装: npm i alipay_for_node -S
示例
//导入需要的包
const Alipay = require(‘alipay_for_node’)
const path = require(‘path’)
//创建Alipay对象
let alipay = new Alipay();
//设置网关,注意:沙箱环境与生产环境是不一样的,注意区分
alipay.gateWayUrl = ‘https://openapi.alipaydev.com/gateway.do’
//设置加密请求参数的私钥,注意:在当前目录下新建一个pem目录,并且导入你自己的RSA或RSA2**
//alipay.rsaPrivateKey=path.join(__dirname,’./pem/rsa_private_key.pem’)
alipay.rsa2PrivateKey=path.join(__dirname,’./pem/rsa2_private_key.pem’)
//设置app_id,替换你自己的app_id,沙箱模式或生产环境下的app_id都可以
alipay.setParam(‘app_id’,’’)
//设置商品相关参数
alipay.setParam(‘biz_content’,JSON.stringify({subject:‘越南新娘’,out_trade_no:alipay.generateOutTradeNo(),total_amount:100.00,product_code:‘QUICK_WAP_WAY’}))
//设置编码
alipay.setParam(‘charset’,‘utf-8’)
//设置格式
alipay.setParam(‘format’,‘json’)
//设置method
alipay.setParam(‘method’,‘alipay.trade.wap.pay’)
//设置加密方式
//alipay.setParam(‘sign_type’,‘RSA’)
alipay.setParam(‘sign_type’,‘RSA2’)
//设置版本
alipay.setParam(‘version’,‘1.0’)
//设置时间戳
alipay.setParam(‘timestamp’,alipay.getNowFormatDate())
//调用方法,获取最终支付的URL
const alipayRequestStr = alipay.getLastRequestStr()
console.log(alipayRequestStr)
注意
1、无论在沙箱模式下还是生成环境模式下,必须先生成商户私钥和公钥,并且将公钥上传到支付宝后台(沙箱或是生产环境后台)
2、生成商户公钥和私钥,可以参考:https://docs.open.alipay.com/291/105971/
3、上传商户公钥到支付宝后台,可以参考:生产环境(https://docs.open.alipay.com/291/105972/) 沙箱模式(https://openclub.alipay.com/read.php?tid=1486&fid=46)
4、支付宝沙箱模式下,只支持新版本接口(https://docs.open.alipay.com/203/107090/),不支持支付老接口(https://docs.open.alipay.com/60/104790/)
5、生成环境下,新老接口都支持
6、集成 alipay_for_node 第三方包,在生成环境下,只需要替换生产环境的网关、app_id、RSA私钥或是RSA2私钥即可
7、alipay_for_node 1.0.0 版本,暂时只是生成了支付宝支付请求URL,其它功能在后续版本中会陆续加入,敬请期待…
Keywords
支付宝Alipay段子黄Alipay For NodeGreat Yellow
install
npm i alipay_for_node
weekly downloads
0
version
1.0.0
license
ISC
last publish
10 months ago
collaborators
avatar
Test with RunKit
代码实现
- 设置app_id,替换你自己的app_id,沙箱模式或生产环境下的app_id都可以
- 设置加密请求参数的私钥,注意:在当前目录下新建一个pem目录,并且导入你自己的RSA或RSA2**
注意点
私钥文件在读取的时候,必须包裹在
-----BEGIN PRIVATE KEY-----和-----END PRIVATE KEY-----之间
注意:
在项目根目录进行nodejs代码:
效果
signature
----------------------------------------------------------张常笑