支付宝的沙箱测试需要前端做的并不多,只是调用一个后端定义的接口,将所需要的订单信息传输到后台,后台进行支付宝的sdk封装,然后返回前端一个链接地址跳转到支付宝的支付页面进行付款即可。

一、 前端的实现需要构建一个vue项目,然后点击触发事件执行接口调用即可,代码附上:

<template><div class="home"><button @click="goPayment">发起支付</button></div></template><script>import axios from "axios";import qs from "qs";// @ is an alias to /srcexport default {name: "HomeView",components: {},methods: {goPayment() {var data = {orderId: "w20211345452",//订单编号,看后台需要什么};axios({url: "http://localhost:8085/pay/api/payment",method: "POST",headers: {dataType: "JSONP","Content-type": "application/x-www/form",},data: qs.stringify(data),}).then((res) => {console.log(res);window.location.href = res.data.result;});},},};</script>

注意安装 qs 和axios 依赖 。命令:

前端的代码可以直接复用的哈,不需要进行修改的。

二、 后端主要是通过node实现

1. 首先需要新建一个文件夹payment,然后cd到该目录文件下,新建一个serve.js文件,在项目文件夹下进行项目初始化:

npm init -y

2. 其次依赖项目中所需要使用到的插件:

npm install alipay-sdk --s
npm install axios --s
npm install cors --s
npm install express

3. 然后在项目的根目录下新建一个untils文件夹,在文件下新建一个工具文件alipayuntils.js,代码:

const AlipaySdk = require('alipay-sdk').default;
const alipaySdk = new AlipaySdk({appId: '', // 应用idgateway: 'https://openapi.alipaydev.com/gateway.do', // 支付宝网关signType: 'RSA2', // 编码格式alipayPublicKey: '', // 支付宝公钥privateKey: '' // 应用私钥
})
//最后我们默认导出即可
module.exports = alipaySdk

此处需要配置appid,支付宝公钥和应用私钥,其余两个是固定的,这些配置需要再支付宝开放平台中的控制台进行处理吗,:https://open.alipay.com/develop/manage

3.1. 进入开发平台,选择沙箱工具

3.2. 查看appid 和 网关地址

3.3.  配置自定义密钥

配置自定义密钥需要下载支付宝开发平台开发助手:异步验签 | 开放平台

然后根据要求在支付宝开放平台中的沙箱应用中进行自定义密钥配置即可

加签完成后将生成的支付宝公钥和应用私钥填入,appid,支付宝网关和编码格式配置在untils/alipayuntils.js文件中,此工具包的配置就完成了。  非常重要!!!

4. 随后再新建一个路由文件夹router,内新建路由文件index.js,代码如下:

var express = require('express')
var router = express.Router()
const alipaySdk = require('../untils/alipayUtil')
const AlipayFormData = require('alipay-sdk/lib/form').default
const axios = require('axios')
const cors = require('cors') //解决跨域请求问题
router.use(cors())
router.use(express.urlencoded({ extended: true }))/* GET home page. */
router.get('/', function(req, res, next) {  //路由测试res.send('index')
})router.post('/api/payment', function(req, res, next) { //支付宝数据封装const orderId = req.body.orderId;// 对接支付宝const formData = new AlipayFormData();formData.setMethod('get');formData.addField('returnUrl', 'http://localhost:8080/'); //回调地址// 商单信息formData.addField('bizContent', {out_trade_no: "21245956656"+Math.random(1,400)+"1128",product_code: "FAST_INSTANT_TRADE_PAY",subject: "门票",body: "商品详情",// timeout_express: "90m", 超时total_amount: '1'});let result = alipaySdk.exec('alipay.trade.page.pay',{},{ formData: formData });result.then((resp) => {console.log(resp)res.send({success: 'true',code: 200,result: resp});});
});
module.exports = router;

5. 到此准备工作就做完了,随后进入node的入口文件配置, serve.js 文件代码:

const express = require("express");
const router = require("./router/index.js"); // 引入路由var app = express();app.all("*", function (req, res, next) { //配置预检请求console.log(req.method);res.header("Access-Control-Allow-Origin", "*");res.header("Access-Control-Allow-Headers", "Content-type");res.header("Access-Control-Allow-Methods", "POST,GET,OPTIONS");res.header("Access-Control-Max-Age", 1728000); //预请求缓存20天next();});app.use(`/pay`, router); app.listen("8085", () => {//端口监听console.log("8085 port is start");
});

6. 最后再终端输入命令 :

node serve.js

即可启动后端服务,看到此提示就能知晓服务是否启动成功了

7. 前端启动,点击进行转账测试,跳转到支付宝支付页面

注意,此处的支付账号和密码是沙箱测试的

最后转账成功:

node+vue实现支付宝沙箱测试教程相关推荐

  1. 支付宝沙箱测试手机网站支付,提示商户合作协议已到期,无法继续使用

    问题:大家好,我的php支付宝沙箱测试手机网站支付,提示商户合作协议已到期,无法继续使用,进行pc电脑网站支付都正常,手机网站支付却不行,请问这个是什么原因呢? 回答: 说明:   这个报错是出现在沙 ...

  2. SpringBoot+Vue整合支付宝沙箱支付

    SpringBoot+Vue2整合实现支付宝沙箱支付 原创不易,转载请注明!!原创不易,转载请注明!!原创不易,转载请注明!!原创不易,转载请注明!!原创不易,转载请注明!! 在进行电脑网站开发时我们 ...

  3. 如何使用支付宝沙箱测试单笔转账到支付宝账号(php版)

    说明:    本帖是利用支付宝沙箱测试电脑网站支付接口    测试环境:Apache2.4.23 +php 5.6.25    沙箱环境测试正式环境请修改网关为下方值 正式环境网关:https://o ...

  4. android 支付宝沙箱测试环境,Android支付宝沙箱环境使用教程

    Android支付宝沙箱环境使用教程 网上好多支付宝教程,但是好像没看到支付宝沙箱环境的使用教程,尤其是在做Android支付宝测试的时候,沙箱拿来测试挺好的,正式使用的时候更换里面的个别数据就可以了 ...

  5. node.js对接支付宝沙箱,看这篇足够

    前言:node对接支付宝沙箱的心得,express,koa2都能使用. 支付宝沙箱位置在:支付宝开放平台控制台>开发工具推荐>沙箱 引入alipay-sdk npm install ali ...

  6. app沙箱宝支付接口怎么测_支付宝沙箱测试DEMO实践

    1.DEMO说明 本次测试只实现支付宝沙箱里面的 扫码支付.商家退款:(本来买家支付也想实现来着:但是没找到相关接口信息所以暂未实现:有知道的朋友请告知) 2.支付宝开放平台沙箱地址: https:/ ...

  7. 支付宝沙箱测试电脑网站支付 php版

    一.登陆蚂蚁金融商户平台 因为是沙箱测试,登陆我们个人的支付宝账号就行. 地址:https://open.alipay.com/platform/home.htm 二.填写个人信息 对于第一次登陆的账 ...

  8. Vue对接支付宝沙箱环境

    文章目录 前言 一.支付宝沙箱环境是什么? 二.安装所需要的环境 1.引入环境以及工具 2.安装Express框架 3.对接支付宝沙箱环境 总结 前言 此文章仅供学习参考,这里我们对接的环境是Vue. ...

  9. 支付宝沙箱测试-ALI40247

    支付宝快速接入文档 测试支付宝APP支付时碰到ALI40247问题 前提:服务端采用沙箱测试. 关于沙箱 如何接入沙箱 沙箱环境是开放平台提供给开发者调试接口的环境,具体操作步骤见沙箱接入指南. Ap ...

最新文章

  1. 汇编 头文件 依赖库文件
  2. android 日期相减得天数_Excel日期计算方法大全
  3. linux svn log 乱码,解决p42svn中文log乱码的问题
  4. tortoisegit图标消失_TortoiseGit文件夹和文件图标不显示解决方法
  5. Python 之 进程
  6. 使用Fiddler查看APP的请求接口、接口参数和返回值的方法
  7. C语言及程序设计进阶例程-12 结构体成员的引用
  8. 华为云联合浙江大学构建新冠科研开放知识图谱
  9. KafkaConsumer分析
  10. Ethernet、VLAN、QinQ
  11. jQuery Mobile中可折叠块collapsed的data-*选项
  12. python颜色代码表_[matplotlib] 颜色设置及Matplotlib颜色对照表
  13. Win10 - 使用‘Alt+Tab’不能切换窗口及更改切换风格
  14. Flutter 2.10 正式发布,包含 Windows 平台正式版,快来看看有什么新内容
  15. Python爬取电影天堂最新发布电影下载地址
  16. get查询IP PHP源码,ip归属地查询代码
  17. 软件测试小黑指北-知识点复习
  18. constantlayout布局
  19. 压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
  20. python如何提取奇数_如何在数组中只获取奇数并使用numpy for python将其平方?

热门文章

  1. linux 安装svn服务端
  2. linux设置防火墙一直失败,centos7防火墙启动失败
  3. 自学Vue 2019/12/03
  4. 计算机原理19秋期末考核,南开大学作业《计算机原理》19秋期末考核解析100
  5. 阿武带着阿猫,深入再看看tripletloss
  6. 协同编辑、云端存储,用飞书在线办公有多爽?
  7. 基于随机方法的新型肺炎病毒传播模型
  8. jade java_JADE提升篇
  9. TechBullion:USDD 或将成为全新避险资产
  10. could not broadcast input array from shape (64,64,3) into shape (64,64,4)