使用支付宝沙盒 nodejs
1、 进入官网
1)https://open.alipay.com/
2)登录
3)进入控制台(右上角)
4)点击“沙箱”(滑动到最下面,左边第一个就是了)
2、下载秘钥转换工具(开发者助手)
https://render.alipay.com/p/f/fd-jwq8nu2a/pages/home/index.html
3、生成密钥
注意,此时得到的应用私钥的格式是不对的,应用格式转换转换格式
4、通过3中的应用公钥得到支付宝公钥
5、封装一下相应信息得到alipay.js
const AlipaySdk = require("alipay-sdk").default;const alipaySdk = new AlipaySdk({appId: "2021000121324353",//签名算法gateway: "https://openapi.alipaydev.com/gateway.do",//支付宝公钥alipayPublicKey:"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoAFwizfYgdPrPgpQdLNeGLLwP1CQtxi4D9PM4RBgatz9K/8Mmt387vQDHN5hAB",//应用私钥privateKey:"MIIEpAIBAAKCAQEAtML5jyueWwDqHjQ6qUgvQV+vHCfjdsPS14oJzRXZmShbep641okONl8Y68mqDKWVT7RVASMmFjFZ0SOe4BehU2uVlT0iYM+LYl/qWMS0xC8s2rvircJg==",
});
module.exports = alipaySdk;
6、接口
const alipaySdk=require('../database/alipay.js');//导入5中的js
const AlipayFormData=require('alipay-sdk/lib/form').default;//cnpm i alipay-sdk//发起支付
router.post("/api/payment", function (req, res, next) {//订单信息let orderId = req.body.orderId;let price = req.body.price;let name = req.body.name;//对接支付宝API
router.post("/api/payment", function (req, res, next) {//订单信息let orderId = req.body.orderId;let price = req.body.price;let name = req.body.name;//对接支付宝APIconst formData = new AlipayFormData();//调用setMethod 并传入get,会返回可以跳转到支付页面的url,formData.setMethod("get");//支付时信息const bizContent = {out_trade_no: orderId,product_code: "FAST_INSTANT_TRADE_PAY",total_amount: price,subject: name,body: "商品详情",};formData.addField("bizContent", bizContent);//支付成功或失败的链接formData.addField("returnUrl", "http://localhost:8080/payment");const result = alipaySdk.exec("alipay.trade.page.pay",{},{ formData: formData }).catch(error => console.error('caught error!', error));//promise对象抛出//的错误要处理,不然就报错卡住了(〝▼皿▼)//对接成功,支付宝返回的数据result.then((resp) => {res.send({data: {code: 200,success: true,msg: "支付中",paymentUrl: resp,},});});});
7、用无痕模式请求接口
8、结果
9、跳转返回地址paymentUrl
登录用沙箱的买家账户就行了
错误
1、
[Warning] page interface through formdata is deprecated. Use sdk.pageExec instead
caught error! Error: error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag。
可能:
1)应用私钥没有转换格式
2)支付宝公钥/应用私钥等信息错了
2、沙箱测试地址502
(ノ`Д)ノ不知道在哪里看到的这个沙箱周日12-周一12点维护中不能使用。可能是这个原因或者其它支付宝服务器的问题吧。
3、沙箱测试地址:系统有点忙~一会儿再试
还是这个沙箱的问题,隔亿会儿再来试试
使用支付宝沙盒 nodejs相关推荐
- spring boot支付宝沙盒扫二维码支付
Spring boot整合支付宝沙盒 1.这里没有介绍对支付宝沙盒的密钥和公钥的配置,如没配置请先配置后在看此博客, 有很多不足之处,请多多包涵 2.我使用的是扫码支付,也是就是生成二维码,当然不止有 ...
- 使用支付宝开放平台沙盒环境调用支付宝支付接口
这一段时间一直想搞个支付的小demo,碰巧最近狂神的 kuangstudy 出了一期支付宝支付的教程,我立马就买了课程,但是当我看到一半的时候发现只有企业才能调用,心想完蛋了,搞不成了.就在我万念俱灰 ...
- java支付宝wap支付_SpringBoot 支付宝H5Wap沙盒环境手机网站支付
在这里介绍的是使用SpringBoot 来完成对H5Wap移动端网页沙盒环境的手机网站支付 * {+ I) s9 |- c* E先贴上支付宝沙盒环境应用网站 ( p0 b8 ^1 \0 A8 i% N ...
- Java实现云端存储、短信、邮件、沙盒支付
java实现云端存储.短信.邮件.沙盒支付 一.云端存储(阿里云) 注意:下面操作是基于购买阿里云云端存储服务实现的 1.FileOSSUtils操作类 package com.zking;impor ...
- [go]沙盒环境下调用支付宝扫码支付
参考于这篇博客,在此基础上进行了封装 配置支付宝开放平台 支付宝开放平台,使用支付宝扫码并成为开发者.然后进入沙盒进行测试 下载沙盒版支付宝并使用沙盒账号中的买家信息进行登陆,之后使用此账号登陆的支付 ...
- 支付宝支付沙盒本地Demo部署测试
支付宝支付沙盒本地Demo部署测试 进入支付宝开放平台官网 支付宝开放平台 支付宝扫码登录后,申请个人开发者(或企业开发者). 启用公钥模式 在沙箱账号中可以看到两个账户 下载支付宝官方支付界面Dem ...
- Android中WebView的跨域漏洞分析和应用被克隆问题情景还原(免Root获取应用沙盒数据)...
一.前言 去年年底支付宝的被克隆漏洞被爆出,无独有偶就是腾讯干的,其实真正了解这个事件之后会发现,感觉是针对支付宝.因为这个漏洞找出肯定花费了很大劲,主要是因为支付宝的特殊业务需要开启了WebView ...
- 搭载“可信隐私沙盒”技术 蚂蚁集团联合荣耀手机从源头防范电信诈骗
4月14日消息,近日,荣耀面向中国市场发布了Magic 4系列旗舰新品,搭载全新操作系统Magic UI 6.0.据了解,荣耀Magic UI 6.0部署了蚂蚁集团推出的"可信隐私沙盒&qu ...
- iOS 冰与火之歌 - 利用 XPC 过 App 沙盒
蒸米是阿里巴巴的移动安全工程师,香港中文大学博士,也是发现并命名了XcodeGhost的人.这次他所在的iOS安全小组发现了影响最新版iOS 9.3的0day漏洞.此漏洞杀伤力巨大,在非越狱手机上一个 ...
最新文章
- Python RPi GPIO编程控制
- 【玩转Ubuntu】01. Ubuntu上配置JDK
- python快速入门答案-Python 开发 14 天快速入门
- rome rss_RSS阅读器使用:ROME,Spring MVC,嵌入式Jetty
- ubuntu 打包压缩
- Java,C实现约瑟夫环,一元多项式运算器
- Python_今天是今年第几天
- 低版本 android 软件下载,纳米盒旧版本下载-纳米盒旧版下载4.1安卓版-西西软件下载...
- IP探测实现 ARP与设备发现
- android系统更新原理简介
- vscode配置prettier格式化工具
- 电脑强制关机会有什么影响
- pt100专用芯片_新能源 汽车电机专用温度传感器 PT100 进口芯片 德国
- 遇到问题---CDH重启namenode--Command timed-out after 150 seconds--角色正在启动
- 数据结构与算法: 约瑟夫问题(丢手绢)
- Java之使用poi导出excel文件,并为特定单元格加锁
- 使用java完成一个猜数字的小游戏(数据范围在1-100之间)
- 若再斗几合 瑞星杀毒软件升级包
- Android Dialer--通讯整体过程分析
- cic matlab,Matlab中CIC滤波器的应用
热门文章
- “白骨精”学习法一书中的经典句子 (自用摘抄)
- 内容创业进入淘汰期,电商平台成为最后一波红利?
- java获取客户端系统信息_java 获得系统信息
- 0基础和小Q学前端---css(2)特殊的选择器
- Ajax学习日志(七)—— 解决低版本IE浏览器的缓存问题
- 上传的文件大小超过upload_max_filesize文件中定义的php.ini值
- 四年烧掉近28亿,快狗打车再次冲击“同城货运第一股“
- python3操作linux窗口
- Android事件分发机制收藏这一篇就够了,从入门到深入
- 强化社交,直播之外,增值业务成陌陌和探探新的增长点