字节跳动小程序担保支付简介
担保交易是字节跳动为小程序开发者提供的小程序内支付能力,让用户能够在电商、生活服务、知识付费等多种场景下,在小程序完成支付闭环,提升用户的支付体验,保障资金安全。 开发者在小程序平台进行微信/支付宝进件后,字节跳动将会为开发者在微信和支付宝申请商户号,开发者可以调用小程序的下单、结算(分账)、退款等接口,完成支付的业务逻辑。
**
接入准备
**
文档上写的非常详细,可参照文档接入https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/server/ecpay/TE
小程序担保支付接入-服务端
/**
* 支付下单
* 服务端预下单
* @param data */ public function dy_pay(data)
{
url = 'https://developer.toutiao.com/api/apps/ecpay/v1/create_order'; postdata['app_id'] = '您的appid';
postdata['out_order_no'] = data['order_num'];//订单号
postdata['total_amount'] = data['all_price'];//支付金额
postdata['subject'] = '中文'; postdata['body'] = data['body'];//备注 postdata['valid_time'] = 86400;//订单有效时间
postdata['cp_extra'] = urlencode(json_encode(['aaa'=>234,'bbb'=>'aaa'])); postdata['notify_url'] = '回调地址';
postdata['thirdparty_id'] = ''; postdata['disable_msg'] = 0;
postdata['msg_page'] = 'asger'; postdata['store_uid'] = '1';
postdata['sign'] = this->sign(postdata);//获取签名 res = this->json_post(url, postdata); print_r(res);
}
function sign(map) { rList = array();
foreach(map as k =>v) { if (k == "other_settle_params" || k == "app_id" || k == "sign" || k == "thirdparty_id") continue; value = trim(strval(v)); len = strlen(value); if (len > 1 && substr(value, 0,1)=="\"" && substr(value,len, len-1)=="\"")
value = substr(value,1, len-1); value = trim(value); if (value == "" || value == "null") continue; array_push(rList, value); } array_push(rList, "您的担保支付** 在支付里的担保交易设置里的SALT获取");
sort(rList, 2); return md5(implode('&', rList));
}
function json_post(url, data = NULL)
{
curl = curl_init(); curl_setopt(curl, CURLOPT_URL, url); curl_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt(curl, CURLOPT_SSL_VERIFYHOST, false); if (!data) {
return 'data is null';
}
if (is_array(data)) { data = json_encode(data,320); } curl_setopt(curl, CURLOPT_POST, 1);
curl_setopt(curl, CURLOPT_POSTFIELDS, data);
curl_setopt(curl, CURLOPT_HEADER, 0); curl_setopt(curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Content-Length:' . strlen(data), 'Cache-Control: no-cache', 'Pragma: no-cache' )); curl_setopt(curl, CURLOPT_RETURNTRANSFER, 1);
res = curl_exec(curl);
curl_close(curl); return res;
}
?>
返回值
{
"err_no": 0,
"err_tips": "",
"data": {
"order_id": "6819903302604491021",
"order_token": "CgwIARDiDRibDiABKAESTgpMbBhsCG7V1MPGAvpICgUSyGcuNOVb/BnCOi9EXgAxIxDqLTwCA6Hd3tNrCde28o0qjmAJQsmLrD18ifr5QktalszSSmTpHCqEm3h55xoA"
}
}
小程序端
tt.pay({
orderInfo: {
order_id: "返回的data.order_id",
order_token:
"返回的data.order_token",
},
service: 5,
success(res) {
if (res.code == 0) {
// 支付成功处理逻辑,只有res.code=0时,才表示支付成功
// 但是最终状态要以商户后端结果为准
}
},
fail(res) {
// 调起收银台失败处理逻辑
},
});
支付完成
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。




























































