返回

安全高效,手把手教你用Vue+Koa或Node测试支付宝支付(沙箱环境)

前端

一、沙箱环境配置

  1. 前往支付宝开放平台(https://openhome.alipay.com/platform/home.htm)注册账号并登录。

  2. 点击沙箱环境 标签,找到沙箱应用 下的创建应用 按钮,按提示完成沙箱应用创建。

  3. 创建完成后,在沙箱应用 列表中找到刚创建的应用,点击应用详情 ,复制AppIdApp私钥

  4. AppIdApp私钥 保存到项目配置中,确保它们在代码中可用。

二、前端集成支付宝支付

1. 安装依赖

npm install --save alipay_sdk

2. 创建服务端路由

app.get('/alipay', async (ctx) => {
  const AlipaySdk = require('alipay_sdk');
  const alipaySdk = new AlipaySdk({
    appId: config.alipay.appId,
    privateKey: config.alipay.privateKey,
    gateway: 'https://openapi.alipaydev.com/gateway.do', // 沙箱环境
  });

  const params = {
    out_trade_no: 'your_order_id',
    total_amount: '0.01',
    subject: 'your_product_name',
  };

  // 生成支付表单
  const form = await alipaySdk.pagePay(params);

  // 将支付表单发送给客户端
  ctx.body = form;
});

3. 在前端页面中集成支付表单

<form action="/alipay" method="POST">
  <!-- 支付表单内容 -->
</form>

三、服务端验证支付宝支付结果

当用户完成支付并返回到你的网站时,支付宝会发送一个POST 请求到你的服务器,其中包含支付结果信息。你需要对这些信息进行验证,以确保交易的真实性和有效性。

app.post('/alipay/notify', async (ctx) => {
  const AlipaySdk = require('alipay_sdk');
  const alipaySdk = new AlipaySdk({
    appId: config.alipay.appId,
    publicKey: config.alipay.publicKey,
    gateway: 'https://openapi.alipaydev.com/gateway.do', // 沙箱环境
  });

  // 验证签名
  const isValid = await alipaySdk.verifyNotify(ctx.request.body);

  if (isValid) {
    // 验证成功,处理业务逻辑
    // ...

    // 返回成功响应
    ctx.body = 'success';
  } else {
    // 验证失败,返回错误响应
    ctx.body = 'fail';
  }
});

四、结语

通过以上步骤,你就可以在Vue+Koa或Node项目中集成支付宝支付功能,并使用沙箱环境进行测试。希望本文对你有所帮助。