什么都别说,先看效果:

字节跳动也开放了小程序给商家接入,可以在旗下APP如抖音、今日头条、今日头条极速版等应用中即点即用,基于庞大的数亿用户量为其引流,帮助商家获取用户流量,销售商品,其模式和微信小程序差不多。
1、后台管理地址:
https://developer.toutiao.com/

2、开发文档地址:
https://developer.toutiao.com/dev/cn/mini-app/develop/open-capacity/log-in/tt.login

不像微信和支付宝,字节跳动没有自己的支付,但是在小程序里集成了微信和支付宝支付可供商家满足支付的需求,接下来来看代码是怎么实现的。

首先要在小程序平台上开通支付功能,这个直接去看开发文档,里面的教程说得很清楚,这里就不再敖述。特别要注意的是,申请完微信支付,要登陆微信商户号对应的商户平台 - “产品中心” - "开发配置"自行配置H5 支付域名:snssdk.com,不然微信支付会报错。
再则字节跳动小程序集成微信和支付宝支付,前提要先调通单纯的微信H5支付和支付宝支付。

代码实现
实体类:TTPayParamIn
/**
* @description
*/
@Data
public class TTPayParamIn {
/**
* 头条小程序分配给商户的商户id
*/
private String toutiaoMchId;
/**
* 头条小程序分配给商户的appid
*/
private String toutiaoMchAppId;
/**
* 头条小程序分配给商户的appSecrect
*/
private String toutiaoMchSecrect;
/**
* 唯一标识用户的id,小程序开发者请传open_id
*/
private String uid;
/**
* 金额,单位:元
*/
private Long totalAmount;
/**
* 商户订单名称
*/
private String subject;
/**
* 商户订单详情
*/
private String body;
/**
* 订单有效时间,单位:秒
*/
private String validTime;
/**
* 服务器异步通知http地址,请填支付宝下单接口对应的异步通知url
*/
private String notifyUrl;
/**
* 订单号
*/
private String outOrderNo;
}
实体类:CheckoutCounterIn
/**
* @description
*/
@Data
public class CheckoutCounterIn extends TTPayParamIn {
//支付宝支付信息
/**
* 支付宝应用id
*/
private String alipayAppId;
/**
* 支付宝应用私钥
*/
private String alipayAppPrivateKey;
/**
* 支付宝公钥
*/
private String alipayPublicKey;
/**
* 支付宝公共回传参数,如果请求时传递了该参数,则返回给商户时会在异步通知时将该参数原样返回。
*/
private String passbackParams;
/**
* 支付宝回调地址
*/
private String alipayNotifyUrl;
//微信支付信息
/**
* 微信小程序appid
*/
private String wxAppId;
/**
* 微信小程序商户id
*/
private String wxMchId;
/**
* 微信小程序商户支付apikey
*/
private String wxApiKey;
/**
* 微信小程序支付回调地址
*/
private String wxNotifyUrl;
/**
* 服务器地址 如:https://xxx.xxx.com/xxx
*/
private String serverPath;
/**
* 金额
*/
private Double wxMoney;
/**
* 微信自定义参数
*/
private String wxAttach;
}

【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
请求工具类:CommonUtil
/**
* @description
*/
public class CommonUtil {
private static Logger log = LoggerFactory.getLogger(CommonUtil.class);
/**
* @Title: httpsRequest
* @Description: 发送https请求 ---返回字符串
* @param requestUrl 请求地址
* @param requestMethod 请求方式(GET、POST)
* @param outputStr 提交的数据
* @return 返回微信服务器响应的信息
* @throws
*/
public static String httpsRequest(String requestUrl, String requestMethod, String outputStr) {
try {
// 创建SSLContext对象,并使用我们指定的信任管理器初始化
TrustManager[] tm = {
new MyX509TrustManager() };
SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
sslContext.init(null, tm, new java.security.SecureRandom());
// 从上述SSLContext对象中得到SSLSocketFactory对象
SSLSocketFactory ssf = sslContext.getSocketFactory();
URL url = new URL(requestUrl);
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setSSLSocketFactory(ssf);
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
// 设置请求方式(GET/POST)
conn.setRequestMethod(requestMethod);
conn.setRequestProperty("content-type", "application/x-www-form-urlencoded");
//conn.setRequestProperty("Content-Type", "text/html;charset=utf-8");
// 当outputStr不为null时向输出流写数据
if (null != outputStr) {
OutputStream outputStream = conn.getOutputStream();
// 注意编码格式
outputStream.write(outputStr.getBytes("UTF-8"));
outputStream.close();
}
// 从输入流读取返回内容
InputStream inputStream = conn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader)

本文介绍如何在字节跳动小程序中集成微信H5支付和支付宝支付,包括后台管理地址、开发文档链接,以及代码实现过程。涵盖实体类定义、请求工具类和支付流程,适用于希望拓展支付渠道的小程序开发者。
6048

被折叠的 条评论
为什么被折叠?



