跳转到内容
返回官网

微信便捷版

微信个人收款

生成一个微信付款二维码,顾客打开手机微信扫码,付款成功后,开发者将收到推送此订单的付款通知。

接入此接口主要申请材料:

  1. 个人身份证

  2. 个人银行卡

一、请求地址

https://kf.fw199.com/gateway/partner/pay/wx/personal/native

二、请求参数

参数名类型说明示例
appidString合作伙伴Id
timestampString时间戳请求时的时间,unixtime格式
mch_idString分配的微信商户ID向蜂巢客服索取
ext_trade_noString开发者传入的订单 , 比如1586420573605不可传入重复的订单号,此订单号在付款完成后,推送回调时一同返回,开发者可以根据此订单号进行业务逻辑处理。
amountint付款金额,单位分比如 350, 表示3.5 元。
attachString附加参数,200字以内支付完成回调时原样返回给开发者。
bodyString商品说明
notify_urlString支付完成后的回调通知Url ,比如, http(s)://yoururl.com/paynotify
signString签名对各参数使用提供的AppSecret进行签名,签名逻辑具体实现见示例代码

请求示例

@Test
public void PayWXPersonalCreateNativePay() throws Exception {
//支付金额 (单位分)
String amount ="1000";
String mchId ="xxxx"; //由蜂巢提供的商户号
// 确保传入的开发者订单号唯一, 订单号生成规则开发者可自定, 修改
String ext_trade_no =String.valueOf(System.currentTimeMillis());
// 扩展参数,付款成功时回调给开发者时会原样返回,根据自己需求填写或为空。
String attach ="biz=sms";
// 订单标题
String body ="支付测试商品";
// 回调通知url,开发者自己的服务器Url
String notify_url = Config.PayNotifyUrl;
//业务参数
Map<String, String> data = new HashMap<String, String>();
data.put("appid", Config.AppId);
Long timestamp = System.currentTimeMillis() / 1000;
data.put("timestamp", timestamp.toString());
data.put("ext_trade_no",ext_trade_no );
data.put("mch_id",mchId );
data.put("amount",amount );
data.put("attach",attach );
data.put("body" , body );
data.put("notify_url",notify_url );
data.put("sign", Utils.Sign(data, Config.AppSecret ));
String result = doHttpRequest(Config.PayWXPersonalCreateNativePayUrl,data);
System.out.println(result);
}

三、接口返回结果

{
"code": 0,
"message": "ok",
"data": {
"qr_url": "https://static.fw199.com/qp-pay/xxxxxxxx.png"
},
"trace_id": ""
}

四、返回参数说明

参数名类型说明示例
codeint0时为成功,非0为失败
messageString消息code非0时,会包含错误的出错信息
qr_urlString生成的付款二维码成功才有qr_url 值

开发者获取到付款码的Url后,可在自己的系统或网站进行展示,供用户扫码支付。用户扫码付款后,蜂巢将会推送付款通知,如何处理付款回调通知,请见支付回调通知