抖音小程序开发,唤起收银台,包括抖音支付、支付宝支付、微信支付 您所在的位置:网站首页 抖音可以微信支付么 抖音小程序开发,唤起收银台,包括抖音支付、支付宝支付、微信支付

抖音小程序开发,唤起收银台,包括抖音支付、支付宝支付、微信支付

2024-06-04 13:49| 来源: 网络整理| 查看: 265

大家好,我是小悟

在抖音小程序刚出来的时候就对接过在抖音小程序里面的支付,想一下,那都是三年前的事情了。

经过这么长的时间,抖音小程序也越来越完善了,不仅体现在本身的功能上,就连开放平台也焕然一新。在体验上,不管是对开发者或者用户,都是更上一层楼的。

抽空又研究了下抖音小程序的收银台,可以支持多种渠道支付,包括抖音支付、支付宝支付、微信支付。

1、开通支付

先在小程序后台,能力-支付那边开通支付能力,开通也很简单,按要求上传资料,可以同时开通抖音、支付宝和微信支付。

审核通过后,抖音和支付宝支付是立即开通的,但是微信支付还需要微信支付管理员扫码签约,签约后会显示审核中,审核通过后会显示已开通。

在这里插入图片描述

2、后端接入

在开发文档处找到担保支付,后端需要接入预下单接口,发往小程序服务端的请求,在没有特殊说明时,均需要使用担保支付密钥进行签名,用于保证请求的来源。

public static String Map2String(Map paramsMap) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("map["); List params = new ArrayList(); List paramsArr = new ArrayList(); for (String key : paramsMap.keySet()) { paramsArr.add(key); } Collections.sort(paramsArr); for (String key : paramsArr) { Object objValue = paramsMap.get(key); if (objValue instanceof Map) { params.add(key + ":" + Map2String((Map) objValue)); } else if (objValue instanceof List) { params.add(key + ":" + List2String((List) objValue)); } else { params.add(key + ":" + objValue.toString()); } } stringBuilder.append(String.join(" ", params)); stringBuilder.append("]"); return stringBuilder.toString(); } public static String List2String(List list) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("["); List paramsArr = new ArrayList(); for (Object item : list) { if (item instanceof List) { paramsArr.add(List2String((List) item)); } else if (item instanceof Map) { paramsArr.add(Map2String((Map) item)); } else { paramsArr.add(item.toString()); } } stringBuilder.append(String.join(" ", paramsArr)); stringBuilder.append("]"); return stringBuilder.toString(); } public final static List REQUEST_NOT_NEED_SIGN_PARAMS = Arrays.asList("app_id", "thirdparty_id", "sign", "other_settle_params"); public static String requestSign(Map paramsMap) { List paramsArr = new ArrayList(); for (Map.Entry entry : paramsMap.entrySet()) { String key = entry.getKey(); if (REQUEST_NOT_NEED_SIGN_PARAMS.contains(key)) { continue; } Object objValue = entry.getValue(); String value = ""; if (objValue instanceof Map) { value = Map2String((Map) objValue); } else if (objValue instanceof List) { value = List2String((List) objValue); } else { value = entry.getValue().toString(); } value = value.trim(); if (value.startsWith("\"") && value.endsWith("\"") && value.length() > 1) { value = value.substring(1, value.length() - 1); } value = value.trim(); if (value.equals("") || value.equals("null")) { continue; } paramsArr.add(value); } paramsArr.add(SALT); Collections.sort(paramsArr); StringBuilder signStr = new StringBuilder(); String sep = ""; for (String s : paramsArr) { signStr.append(sep).append(s); sep = "&"; } return md5FromStr(signStr.toString()); } private static String md5FromStr(String inStr) { MessageDigest md5; try { md5 = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return ""; } byte[] byteArray = inStr.getBytes(StandardCharsets.UTF_8); byte[] md5Bytes = md5.digest(byteArray); StringBuilder hexValue = new StringBuilder(); for (byte md5Byte : md5Bytes) { int val = ((int) md5Byte) & 0xff; if (val "err_no": 0, "err_tips": "success", "data": { "order_id": "N7274614689692403869", "order_token": "GVVxECgwIARDGJRiuMiABK4uiCoAESTgpMn+ejoVk1fqzVSL4HFO6myCMTzR1WyueGMGJV/iugWtIXFshTgpx5IQSRPxApgtm2VaQwSJPOsW0g1wUccxLoAqOgeYBmlu.E", "url": "" } }

3、小程序端接入

接收到后端生成的预下单信息后,再调用小程序api,就可以唤起收银台。 唤起收银台的小程序appid需要和请求预下单接口传参的appid一致,否则会拉起收银台失败。

在这里插入图片描述

tt.pay({ orderInfo: { order_id: 'N7274614689692403869', order_token: 'GVVxECgwIARDGJRiuMiABK4uiCoAESTgpMn+ejoVk1fqzVSL4HFO6myCMTzR1WyueGMGJV/iugWtIXFshTgpx5IQSRPxApgtm2VaQwSJPOsW0g1wUccxLoAqOgeYBmlu.E', }, service: 5, success(res) { if (res.code == 0) { // 支付成功处理逻辑,只有res.code=0时,才表示支付成功 // 但是最终状态要以商户后端结果为准 } }, fail(res) { // 调起收银台失败处理逻辑 }, });

在这里插入图片描述 在小程序后台还可以控制支付能力和收银台的支付方式。

支付能力即功能关闭后,小程序将关闭支付能力,新增订单支付将被拦截。该能力不影响历史订单的退款、分账与账户提现。

支付方式即关闭支付方式后,小程序收银台将不展示对应的支付方式,用户无法使用该支付方式进行支付。

在这里插入图片描述

您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有