• 概览
  • 集成模式
  • 支付方式
  • 开始接入
    • 申请测试商户
    • 测试验收场景
    • 上线前准备
    • 如何配置公钥
    • 请求与响应结构
    • API 签名组装规则
    • 收银台对接
    • iframe 对接
    • Direct API 对接
      • 国际卡支付流程(Direct API)
      • WeChatPay 流程(Direct API)
      • Alipay+ 流程(Direct API)
  • APIs
  • 附录
亮色模式
  1. 开始接入
  2. Direct API 对接

WeChatPay 流程(Direct API)

:::tip[]
适用场景

  • 支付方式:WeChatPay(微信支付)
  • 集成模式:Direct API 模式

开放能力对接清单:

  • API-支付
  • API-支付查询
  • Notify - 支付结果通知
    :::

一、业务时序图

:::tip[] 通过 Direct API 集成模式对接微信APP支付,实现在商家 APP 中接受用户微信付款; :::

微信APP.jpg

用户在商家APP内购物下单; 商家客户端向后端发送支付指令; **商家服务端调用连连全球收单的 [API-支付](https://doc.lianlianpay.com/3476473e0?nav=2) 接口进行创单支付**; **连连全球收单同步返回支付会话凭证;** 商家服务端向商家客户端传输支付会话凭证; 调用 WeChatPay 官方SDK(官方SDK为用户提供了更流畅的支付体验); 唤起用户 WeChatPay APP; 用户在支付页面输入密码; 支付完成后,跳转回商家 APP 内; **支付成功后,连连开放平台会向商家服务端发送 [Notify - 支付结果通知](https://doc.lianlianpay.com/3476484e0?nav=2) ,同时建议商家对接 [API-支付查询](https://doc.lianlianpay.com/3476474e0?nav=2) 接口,确保及时更新订单状态;** 商家服务端收到支付结果通知后,须返回固定通知响应,表示商家已处理结果,否则会重新投递消息; 商家客户端更新订单支付结果; 向用户展示付款结果;
:::tip[] 通过 Direct API 集成模式对接微信小程序支付,实现在商家小程序中接受用户微信付款; :::

微信小程序时序图.jpg

用户在商家小程序内购物下单; WeChatPay 获取微信用户OpenID; 商家客户端向后端发送支付指令; **商家服务端调用连连全球收单的 [API-支付](https://doc.lianlianpay.com/3476473e0?nav=2) 接口进行创单支付**; **连连全球收单同步返回支付会话凭证;** 商家服务端向商家客户端传输支付会话凭证; 调用 WeChatPay 小程序; 唤起用户支付页面; 用户在支付页面输入密码; 支付完成后,跳转回商家小程序内; **支付成功后,连连开放平台会向商家服务端发送 [Notify - 支付结果通知](https://doc.lianlianpay.com/3476484e0?nav=2) ,同时建议商家对接 [API-支付查询](https://doc.lianlianpay.com/3476474e0?nav=2) 接口,确保及时更新订单状态;** 商家服务端收到支付结果通知后,须返回固定通知响应,表示商家已处理结果,否则会重新投递消息; 商家客户端更新订单支付结果; 向用户展示付款结果;

二、订单处理说明

- `payment_status = "PS"` 时,说明连连创单成功且支付完成,商家可以更新自己的订单状态; - `payment_status = "WP"` 时,说明连连创单成功并等待用户付款,支付结果会以开放消息方式通知给商家指定的`notification_url`服务地址; - 支付失败结果中 `return_code`,`return_msg` 中提示原因,可以将 `return_code` 映射为商家自己的支付提示信息;

三、开发说明

:::info[]
商家需要参考集成 WeChatPay 官方 Android SDK 和 iOS SDK,同时需要商家提供微信开发者平台的APPID参数;
:::

  1. API方式发起支付需要terminal_data(用户终端信息)必须传入;
  2. 站点号sub_merchant_id为必须参数,不传会导致支付失败;
  3. 支付单有效时间都是 10 分钟,超过 10 分钟需重新发起;
  4. 调用 SDK 所需参数从创单返回结果扩展字段中ext_info获取,ext_info是一个 json 格式字符串,参数名称sdk_data;

:::info[]
商家需要参考 WeChatPay 官方小程序 开发指引 和 如何获取OpenID,同时需要商家提供微信开发者平台的APPID参数;
:::

  1. API方式发起支付需要terminal_data(用户终端信息)必须传入,同时user_client_mode=21;
  2. 站点号sub_merchant_id为必须参数,不传会导致支付失败;
  3. 支付单有效时间都是 10 分钟,超过 10 分钟需重新发起;
  4. 调用小程序所需参数从创单返回结果扩展字段中ext_info获取,ext_info是一个 json 格式字符串,参数名称sdk_data;

四、测试集成

  • 测试 WeChat Pay 需要通过真实微信钱包进行付款,订单金额设置为较小金额(建议 0.1HKD),验证付款完整过程;