主题
线上js支付 FunctionCode | 暂无
jsapi 支付,是一种基于 JavaScript 技术搭建的数据交互接口,专门用于集成微信和支付宝的小程序、公众号支付功能。通过该接口,开发者能够便捷地将支付请求信息发送至微信支付和支付宝支付的官方系统,让用户在小程序或公众号内轻松完成支付操作,获取即时的支付结果反馈。凭借这一接口,商家无需重复开发不同支付渠道的接入逻辑,可实现一键对接两大主流支付平台,极大地简化了支付集成流程,提升了开发效率。无论是线上购物、生活缴费,还是在线教育课程购买等场景,jsapi 支付都能为用户提供流畅且统一的支付体验,助力商家拓展业务,提升用户满意度
简介
接口说明
- 请求方式
POST
- Headers
serviceCode: xxx
- Headers
Content-Type: application/json
- Headers
Authorization: Bearer ${app_token}
正式环境 | 测试环境 |
---|---|
https://api.linkingopen.com/service/openapicore/gateway | https://api.linkingopen.com/test/service/openapicore/gateway |
请求参数
名称 | 描述 | 类型 | 必填 |
---|---|---|---|
out_trade_no | 外部订单号 | String | 是 |
total_amount | 交易的订单金额 | Price | 是 |
subject | 订单标题 | String | 是 |
body | 订单描述 | String | 否 |
user_id | 支付宝需传2088开头的16位标识,微信则传微信用户openid | String | 是 |
timeout_express | 该笔订单允许的最晚付款时间 | String | 否 |
notify_url | 通知地址 | String | 否 |
disable_pay_channels | 禁用支付渠道(涵盖信用卡卡通、信用卡快捷、花呗、花呗分期) | String | 否 |
business_params | 订单扩展信息 | business_params | 否 |
payment_type | 支付类型,可选择alipay、weixin、unionpay、eshimin、elecny(数字货币) | String | 是 |
返回参数
名称 | 描述 | 类型 | 必填 |
---|---|---|---|
sub_code | 业务返回码,用于标识业务处理过程中的具体状态。 | String | 否 |
sub_msg | 对业务返回码的详细描述,这里表示“交易已被支付”。 | String | 否 |
out_trade_no | 外部订单号,由商户自定义生成,用于在商户系统内唯一标识一笔订单。 | String | 是 |
trade_no | 支付宝交易号,在支付宝系统中唯一标识一笔交易,具体生成规则和使用方式可参考文档https://docs.open.alipay.com/common/105591 。 | String | 选填 |
wx_pay_data | 微信支付相关数据,包含微信支付调起所需的各类参数,如公众号ID、时间戳、随机字符串等,具体内容和格式要求可参考https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6 。 | wx_pay_data | 选填 |
接口示例
参数示例
以下是JSON:
json
{
"out_trade_no": "202502251805300001",
"total_amount": "100.00",
"subject": "挂号付费",
"body": null,
"notify_url": "https://fwcn.linkingcloud.cn/zhifu/LC_ZhiFu_Notify/d793a331-4cd8-4981-9090-0dad5080c15f",
"return_url": "https://fwcbj.linkingcloud.cn/app/unattended/index.html#/outpatientService/guahao/detail?outTradeNo=202502251805300001&dataSource=guahaoConfirm",
"user_id": "o39LEjlgZKKzXC4Ixxxxxxxxxx",
"payment_type": "weixin",
"disable_pay_channels": null,
"order_type": "APPOINTMENT",
"order_info": ""
}
json
{
"out_trade_no": "202502251805300001",
"wx_pay_data": {
"appId": "wx015fab186xxxx",
"timeStamp": "1740412802",
"nonceStr": "94fe8da0fdb44b209b61xxxxxxxxxxx",
"package": "prepay_id=wx25000002071xxxxxxxxxxxxxxxxxxxxxxxx",
"signType": "MD5",
"paySign": "55318FDCFF809BF48xxxxxxxxxxxxxxxxxx"
}
}
SDK示例
Java
public class SDKExample {
public static void main(String[] args) {
// Java示例:初始化SDK并调用一个方法
SDK sdk = new SDK();
sdk.initialize();
sdk.processImage("image.jpg");
}
}
C#
using System;
public class SDKExample {
public static void Main() {
// .NET 示例:初始化SDK并调用方法
SDK sdk = new SDK();
sdk.Initialize();
sdk.ProcessImage("image.jpg");
}
}
Js
async function runExample() {
// Node.js 示例:初始化SDK并调用异步方法
const sdk = new SDK();
await sdk.initialize();
await sdk.processImage('image.jpg');
}
常见业务状态码
错误码 | 描述 | 解决方案 |
---|---|---|
SYSTEM_ERROR | 系统繁忙 | 服务器异常 可能发生了网络或者系统异常,导致服务调用失败,商户可以用同样的请求发起重试 |
INVALID_PARAMETER | 参数有误 | 请根据接口返回的参数非法的具体错误信息,修改参数后进行重试 |
APP_NOT_ONLINE | 小程序未处于上架状态 | 小程序上架状态再操作 |