支付宝,对接沙箱支付(vue2+node.js)

这篇具有很好参考价值的文章主要介绍了支付宝,对接沙箱支付(vue2+node.js)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

支付宝,对接沙箱支付(vue2+node.js+mysql)

支付宝沙箱环境,点击进入
支付宝,对接沙箱支付(vue2+node.js)

登录,按自己实际信息填写

支付宝,对接沙箱支付(vue2+node.js)

1. 扫码登录,进入后如图

支付宝,对接沙箱支付(vue2+node.js)

2. 进入沙箱,可以看到自己的账号(如下配置)

支付宝,对接沙箱支付(vue2+node.js)

配置系统默认密钥(需要下载工具)

密钥下载工具配置
支付宝,对接沙箱支付(vue2+node.js)

依照自己系统,自行选择下载

支付宝,对接沙箱支付(vue2+node.js)

配置支付宝开放平台密钥工具

支付宝,对接沙箱支付(vue2+node.js)

生成密钥后,不要关闭程序,在页面沙箱哪里配置系统密钥

支付宝,对接沙箱支付(vue2+node.js)
如下图所示,点击启用,系统会自行校对
支付宝,对接沙箱支付(vue2+node.js)

配置好后,可以自行,点击查看,生成的密钥

支付宝,对接沙箱支付(vue2+node.js)
这里主要是,下面选择,按自己选择就好,前端就选非java

沙箱就创建ok了,下面我使用node.js进行对接(一堆坑)

先看下,成品后的,拿串链接,就是后台返回的路径

支付宝,对接沙箱支付(vue2+node.js)

node.js中,自行,创建项目,对接mqsql。 这里直接创建alipay.js文件

// cnpm i 
//引入sdk
const AlipaySdk = require('alipay-sdk').default;
const alipaySdk = new AlipaySdk({
  //AppId
  appId: 'AppId',
  //签名算法
  signType: 'RSA2',
  //支付宝网关
  gateway: 'https://openapi.alipaydev.com/gateway.do',
  //支付宝公钥
  alipayPublicKey:"系统应用 非java公钥 '',
  //应用私钥
  privateKey: ''系统应用 非java私钥"
});

module.exports = alipaySdk;

支付宝,对接沙箱支付(vue2+node.js)
注意,这个应用公钥 和私钥 ,是公钥模式,点查看,让你选择java或非java 下面那两个,不要选择错了

node.js 中,路由模块引入,按自己写的那个页面引入就行

下载 npm install jsonwebtoken
2. 引入 require(‘jsonwebtoken’);
3. 生成token语法 jwt.sign( 用户信息 , 口令 , 过期时间)
4. 解析token jwt.decode(token);

下载 对接支付宝的sdk
cnpm i alipay-sdk -S
下载 axios
cnpm i axios -S


//引入支付宝配置文件
const alipaySdk = require('../db/alipay');
const AlipayFormData = require('alipay-sdk/lib/form').default;
// 引入token包
let jwt = require('jsonwebtoken')
//引入axiso
const axios = require('axios');
router.get('/', function (req, res, next) {
  res.render('index', { title: 'Express' });
});
//发起支付
router.post('/api/payment',function(req,res,next){
    //订单号
    let orderId = req.body.orderId;
    //商品总价
    let price = req.body.price;
    //购买商品的名称
    let name = req.body.name;
    //开始对接支付宝API
    const formData = new AlipayFormData();
    // 调用 setMethod 并传入 get,会返回可以跳转到支付页面的 url
    formData.setMethod('get');
    //支付时信息
    formData.addField('bizContent', {
      outTradeNo: orderId,//订单号
      productCode: 'FAST_INSTANT_TRADE_PAY',//写死的
      totalAmount: price,//价格
      subject: name,//商品名称
    });
    //支付成功或者失败跳转的链接
    formData.addField('returnUrl', 'http://localhost:8080/payment');
    //返回promise
    const result = alipaySdk.exec(
      'alipay.trade.page.pay',
      {},
      { formData: formData },
    );
    //对接支付宝成功,支付宝方返回的数据
    result.then(resp=>{
        res.send({
            data:{
                code:200,
                success:true,
                msg:'支付中',
                paymentUrl : resp
            }
        })
    })
})

注意,我里面加了token,不需要的话,删了那个token代码就行,还需注意以上的sql语句查询,按自己数据表查

vue2中,使用如下

下载 qs (加密传输,自行百度)qs是增加安全性的序列化 比JSON.stringify安全系数高
cnpm i qs -S

<div class="order-topay" @click="goPayment">提交订单</div>
export default {
data() {
    return {
      // 收货地址数据
      path: {},
      // 选中的商品
      item: [],
      // 总价
      total: {
        price: 0,
        num: 0,
      },
    }
  },
goPayment(){
 // 声明一个新数组,存放商品名称
          let newArr = []
          // 循环遍历,生成订单的商品数据,拿到其名称
          this.goodsList.forEach((v) => {
            newArr.push(v.goods_name)
          })
          // 支付 传递的参数
          let dataOrder = {
            // 订单号
            orderId: this.order_id,
            // 商品名称 join('')解析为字符串
            name: newArr.join(''),
            // 总价格
            price: this.total.price,
          }
          if (res.success) {
            //去支付
            http
              .$axios({
                url: '/api/payment',
                method: 'post',
                headers: {
                  token: true,
                  // 接口文档给的,固定的不变
                  'Content-Type': 'application/x-www-form-urlencoded',
                },
                //qs是增加安全性的序列化
                data: qs.stringify(dataOrder),
              })
              .then((res) => {
                // res 后台返回的支付链接,前端打开这个链接就可以了
                if (res.success) {
                  console.log(res)
                  // 打开支付宝的,支付页面
                  window.location.href = res.paymentUrl
                }
              })
          }
        }
      }

goodsList是商品数据,换成自己的商品数据,token没有就删掉,name商品名称,从商品数据中拿到的,需要join解析一下,最后前端拿到后端返回的支付链接,直接打开就行了

支付操作(一定是要用无痕浏览,打开项目,不然根本跑不起来)

支付宝定的,无痕浏览,沙箱操作,没周日12:00-周一12:00,维护期间,不要使用,用了也打不开
支付宝,对接沙箱支付(vue2+node.js)
打开自己的沙箱账号,买家信息,下图填入买家账号,输入沙箱账号的密码111111,点下一步就行了

直接点立即支付就行了,真希望余额有这么多
支付宝,对接沙箱支付(vue2+node.js)
圆满结束,自己的跑不起来我也没办法,我也是跟着网上学的,至少我这个还是比较全的文章来源地址https://www.toymoban.com/news/detail-447476.html

到了这里,关于支付宝,对接沙箱支付(vue2+node.js)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序微信支付发起订单node.js版

    自己闲来无事想试试node.js如何写后端开发,就测试了一下这个微信支付功能,首先,我们想要实现微信支付要有appid,mchid商户号,这些提前需要准备的必要参数我就不多说了,看文档就可APP下单 - App支付 | 微信支付商户文档中心 (qq.com) 下面直接上代码 //我们前端通过调用

    2024年01月22日
    浏览(40)
  • 【Node.js实战】一文带你开发博客项目(API 对接 MySQL)

    个人简介 👀 个人主页: 前端杂货铺 🙋‍♂️ 学习方向: 主攻前端方向,也会涉及到服务端 📃 个人状态: 在校大学生一枚,已拿多个前端 offer(秋招) 🚀 未来打算: 为中国的工业软件事业效力n年 🥇 推荐学习:🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2Vue3项目实战 🥝

    2024年02月02日
    浏览(65)
  • vue2 对接 海康摄像头插件 (视频WEB插件 V1.5.2)

    前言 海康视频插件v.1.5.2版本运行环境需要安装插件VideoWebPlugin.exe,对浏览器也有兼容性要求,具体看官方文档 对应下载插件 去海康官网下载插件 里面有dome等其他需要用到的 地址: 安装插件 打开下载的文件里的bin文件 安装一下VideoWebPlugin vue脚手架中集成插件 把官方资源

    2024年02月03日
    浏览(47)
  • 【Node.js】实现微信小程序在线支付功能

    实战项目名称:微信小程序实现在线支付功能 - 文章结尾附上微信小程序码,扫码登录后即可体验!! 注意:对接 微信支付 功能,必须得先有微信支付的 商户号 ,不然你是测试不了微信支付功能的。 原因: 微信官网不提供微信支付的测试账号 微信支付一切都以商户号为

    2024年02月09日
    浏览(68)
  • SpringBoot+支付宝支付(沙箱)

    easy支付官方文档: 工具 | 网页移动应用 通用版文档: 通用版 | 网页移动应用 有基础的可以直接看文档自己搭建,官方文档写的很详细。 支付宝沙箱配置 1、注册支付宝开发者账户,进入开发者控制台 (有支付宝账户的直接支付宝扫码登入即可) 支付宝开放平台   htt

    2024年02月06日
    浏览(44)
  • Node.js关于微信支付V3版相关处理方法

    今天给大家写一个关于Node.js接入微信支付V3接口时一些毕竟复杂的点,主要就是请求签名Authorization、调起支付签名、回调参数解密等。 请求签名Authorization 在微信支付V3接口中,商户需要使用自身的私钥对API URL、消息体等关键数据的组合进行SHA-256 with RSA签名。请求的签名信

    2024年01月16日
    浏览(59)
  • springboot实现支付宝支付(沙箱环境)

    进入支付宝控制台:https://open.alipay.com/develop/manage 找到沙箱 这里可以看到 应用id 可以看到 应用私钥 和 支付宝公钥 ,获取这三后就可以开始敲代码了 依赖: 在resources/templates目录下创建一个pay.html文件,用于展示支付宝支付页面。 创建同步通知页面 在resources/templates目录下创建

    2024年02月08日
    浏览(44)
  • 支付宝支付整合SpringBoot(沙箱环境)

    目录 1.查看沙箱账号 2.内网穿透 3.沙箱环境整合SpringBoot开发 下面我将以实际案例详细介绍如何使用沙箱环境进行支付宝支付对接的开发 1.查看沙箱账号  首先什么是沙箱账号? 沙箱账号是指在支付宝沙箱环境中创建的测试账户,用于模拟真实的支付流程。在开发和测试过程

    2023年04月10日
    浏览(43)
  • 支付宝手机网站支付接入(沙箱环境)

    参考阿里云文档:https://docs.open.alipay.com/203/105285/ 手机网站支付产品包含两类API: 页面跳转类:需要从前端页面以Form表单的形式发起请求,浏览器会自动跳转至支付宝的相关页面(一般是收银台或签约页面),用户在该页面完成相关业务操作后再回跳到商户指定页面。例如本

    2024年02月08日
    浏览(43)
  • Springboot支付宝沙箱支付---完整详细步骤

    不经常看消息和评论,代码和数据库已上传至gitee 项目源码 沙箱环境-支付宝文档中心 1.1、进入个人沙箱环境 点击进入沙箱环境并用支付宝登陆 沙箱管理界面如图所示 appid,支付宝网关,自定义密钥等 这里是沙箱支付宝(虚拟)的账号和密码,可以用来支付 1.2、接下来进行

    2023年04月25日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包