开始制作
首页> 行业资讯> 小程序> 资讯详情

小程序支付接入“微信/支付宝”教程!

2025-09-04 10:15:00 来自于应用公园

对于许多小程序开发者而言,“小程序支付接入”是实现商业闭环的关键一步。无论是电商、知识付费还是服务预约,流畅的支付体验都能极大提升用户满意度。本文将为您提供一份清晰、全面的“小程序接入教程”,一步步引导您完成微信和支付宝支付的配置与开发。

第一部分:准备工作(两者通用)

在开始编码之前,充分的准备是成功的一半。以下是两个平台都需要的步骤:

1.  完成企业资质认证:个人开发者无法申请支付接口。您必须拥有已认证的企业主体小程序。
2.  开通支付功能:
    微信:登录微信公众平台,在“功能”->“支付功能”中申请开通微信支付商户号。
    支付宝:登录支付宝开放平台,在“产品中心”申请开通“App支付”或“小程序支付”。
3.  获取关键配置参数:
    微信:获取商户号(MchID)、API密钥(API Key)。
    支付宝:获取应用ID(APPID)、支付宝公钥(AlipayPublicKey)、应用私钥(AppPrivateKey)。
4.  配置密钥和域名:在各自的管理后台,设置API密钥(微信)或RSA2密钥(支付宝),并将您的服务器IP地址添加到白名单中。同时,配置请求授权的服务器域名。

第二部分:微信小程序支付接入教程

微信支付的流程可以简化为:小程序端发起请求 -> 商户服务器统一下单 -> 返回支付参数 -> 小程序端调起支付。

核心步骤:

1.  后端统一下单(API):
    小程序前端将商品信息、订单号等发送至您的服务器。您的服务器调用微信支付提供的`统一下单API`,使用准备好的`MchID`和`API Key`进行签名,请求生成预支付交易会话。
// 伪代码示例(Node.js)
const unifiedOrder = async (orderParams) => {
  // 构造参数、生成签名
  const response = await request('https://api.mch.weixin.qq.com/pay/unifiedorder', orderParams);
  return response; // 包含 prepay_id 等关键参数
}

2.  前端调起支付:
    后端将获取到的`prepay_id`及其他参数(如`nonceStr`, `timeStamp`, `paySign`)返回给小程序前端。前端调用`wx.requestPayment()`即可调起支付界面。
// 小程序端代码
wx.requestPayment({
  timeStamp: '', // 时间戳
  nonceStr: '', // 随机字符串
  package: `prepay_id=wx201410272009395522657a690389285100`, // 预支付交易会话标识
  signType: 'RSA', // 签名算法,现一般为RSA
  paySign: '', // 签名
  success (res) { /* 支付成功 */ },
  fail (err) { /* 支付失败 */ }
})

3.  处理支付结果通知:
    支付完成后,微信服务器会向您预先在后台配置的“通知地址”发送异步通知(Notify),您需要在后端验证通知的有效性,并更新订单状态。

第三部分:支付宝小程序支付接入教程

支付宝的流程与微信类似,但在API调用和签名方式上有所不同。

核心步骤:

1.  后端生成订单信息(alipay.trade.create):
    小程序前端请求您的服务器创建订单。您的服务器调用支付宝开放平台的接口(如`alipay.trade.create`),使用应用私钥签名,请求生成支付订单字符串。
// 伪代码示例(使用Alipay SDK)
const AlipaySdk = require('alipay-sdk').default;
const alipaySdk = new AlipaySdk({ appId, privateKey, alipayPublicKey });

const result = await alipaySdk.exec('alipay.trade.create', {
  subject: '商品标题',
  out_trade_no: '商户订单号',
  total_amount: '0.01',
});

2.  前端调起支付:
    后端将支付宝返回的复杂响应(通常包含一个`tradeNo`或订单字符串)处理后返回给前端。前端调用`my.tradePay()`方法调起支付。
// 支付宝小程序端代码
my.tradePay({
  orderStr: '后端返回的订单信息字符串', // 方式一:使用orderStr
  // tradeNo: '后端返回的交易号', // 方式二:使用tradeNo
  success (res) {
    if (res.resultCode === '9000') {
      // 支付成功
    }
  }
});

3.  处理异步通知:
    同样,您需要在后端处理支付宝服务器发送的异步通知(Notify),验证签名并更新订单状态,确保数据一致性。

第四部分:常见问题与注意事项

加密与安全:API密钥和私钥是最高机密,绝不能存放在前端。所有签名操作都必须在您的服务器端完成。
双重验证:支付结果应以服务器异步通知(Notify)为准,前端返回的成功状态仅作界面展示参考。
对账:定期通过平台提供的对账单API进行对账,确保每一笔交易账目清晰。
审核:确保您的经营类目符合平台规定,否则支付接口申请可能无法通过。

总结

完成“小程序支付接入”是一个需要细心和耐心的过程,涉及前端、后端与平台后台的三方协作。本“小程序接入教程”为您梳理了微信和支付宝支付的核心流程与关键代码。希望这篇指南能帮助您高效地打通小程序的支付环节,为您的用户带来安全、便捷的支付体验。
粤公网安备 44030602002171号      粤ICP备15056436号-2

在线咨询

立即咨询

售前咨询热线

13590461663

[关闭]
应用公园微信

官方微信自助客服

[关闭]