字节担保支付/字节小程序担保支付

本文指导如何使用PHP进行字节担保支付,包括前期准备、引入库、配置支付、预下单、退款流程和回调处理。重点讲解了配置步骤和实战操作技巧。

1. 注意事项:

  1. 当前字节担保支付流程为个人整理,若有不足之处请谅解!
  2. 演示代码为PHP

2. 前期准备

  1. 阅读字节担保支付开发者文档(https://microapp.bytedance.com/docs/zh-CN/mini-app/develop/server/ecpay/server-doc)
  2. 完成进件

3.引入支持

  1. 感谢kuif提供的轮子!
  2. 项目中需引入 https://github.com/kuif/pay

4. 实际开发

  1. 项目中没有composer文件请在终端中直接执行 composer require fengkui/pay,如果项目中已经有了composer.json文件请直接在文件中添加"fengkui/pay": "^1.0",执行composer update即可。
    在这里插入图片描述
    导入完成后,如下图
    在这里插入图片描述

  2. 当前订单已创建后,在vendor\fengkui\pay\src\Pay\Bytedance.php文件中,填写支付相关配置。详情请阅读(https://www.php.cn/php-weizijiaocheng-480034.html)

  3. 填写完相关配置后预下单,退款,查询即可使用文中方法调用,填入相关信息即可。

  4. 支付时需注意订单金额单位为分!total_amount字段为int

  5. 订单完成支付后需要创建一个接口,用于接收字节的回调参数(注意回调可能丢失,这时需建立相关策略请求该订单),如果回调参数中的支付字段是payment时,即为支付成功。接下来需要完善订单支付成功后的流程,比如修改支付状态,积分等。

  6. 完善完相关流程后,需要再向字节的预下单接口返回支付成功参数,避免重复发送回调。

5.退款流程

  1. 业务模块完成相关处理,调用轮子中的退款接口,注意退款金额单位为分!total_amount字段为int,退款需设置自定义回调地址,否则会报错。回调确认后退款完成,完善本身业务相关退款流程。
使用 PHP 实现抖音小程序支付可参考以下步骤及代码示例: ### 1. 担保支付基础 担保交易是字节跳动为小程序开发者提供的小程序支付能力,开发者在小程序平台进行微信/支付宝进件后,字节跳动会为开发者在微信和支付宝申请商户号,开发者可调用小程序的下单、结算(分账)、退款等接口完成支付业务逻辑[^2]。 ### 2. 回调方法 以下是抖音支付成功回调的代码示例: ```php /** * 抖音支付成功回调 * @ApiInternal */ public function dynotifyx() { // 获取参数 $result = file_get_contents('php://input'); $result = json_decode($result, true); Log::write('抖音支付成功回调信息:'.json_encode($result, JSON_UNESCAPED_UNICODE), 'API'); if (!$result || empty($result['msg'])) { die('暂无回调信息'); } $platform = 'dyMiniProgram'; $payment = 'douyin'; $data = json_decode($result['msg'], true); // 进行签名验证 // 判断签名是否正确 判断支付状态 if ($data && $result['type'] == 'payment') { try { // 进行你的业务逻辑 // 返回抖音成功信息 $res = [ 'err_no' => 1, 'err_tips' => "success" ]; echo json_encode($res); // return $this->payResponse($pay, $payment); } catch (\Exception $e) { Log::write('notifyx-error:' . json_encode($e->getMessage())); $res = [ 'err_no' => 400, 'err_tips' => "business fail" ]; echo json_encode($res); } return $result; } else { return false; } } ``` 此方法用于处理抖音支付成功后的回调信息,包括获取参数、记录日志、签名验证、业务逻辑处理以及返回响应信息等操作[^1]。 ### 3. 回调处理 以下是另一种回调处理的代码示例: ```php public function notify() { $post = file_get_contents('php://input'); $post = json_decode($post, true); $token = 'token'; // 抖音后台配置的token $post['token'] = $token; $sign = $this->callbackSign($post); if ($sign != $post['msg_signature']) { echo "签名失败"; } $return = json_encode(["err_no" => 0, "err_tips" => 'success']); echo $return; exit; } ``` 该方法用于处理回调时的签名验证,若签名验证失败则输出“签名失败”,验证成功则返回成功信息并退出程序[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值