최근 프로젝트 재구성으로 인해 Baidu 결제가 다시 작성되고 캡슐화되었습니다. 이번 재작성에는 후속 개발 및 사용을 용이하게 하기 위해 서명 처리 및 사용자 환불이 추가되었습니다.
바이두 전자상거래 오픈 플랫폼 업그레이드로 인해 결제 기능이 스마트 미니 프로그램으로 이전되었습니다. 구체적인 신청 절차는 바이두 캐셔 결제 활성화 가이드(https://smartprogram.baidu.com/docs)입니다. /operations/transform/pay /)
(참고: 결제 서비스에서 서비스 전화번호는 은행에서 예약한 휴대폰 번호로 입력해야 합니다. 잘못 입력할 경우 [형식 확인]으로 신고됩니다. 은행에서 예약한 휴대폰 번호 실패])
바이두 결제 문서: 바이두 계산원 인터페이스 2.0 (https://smartprogram.baidu.com/docs/develop/function/tune_up_2.0/)
1. 신청 후. 승인되면 Baidu 결제 관련 구성을 입력하세요.
$config = array( 'deal_id' => '', // 百度收银台的财务结算凭证 'app_key' => '', // 表示应用身份的唯一ID 'private_key' => '', // 私钥原始字符串 'public_key' => '', // 平台公钥 'notify_url' => '', // 支付回调地址 );
2. 캡슐화된 결제 수단을 호출하면 해당 정보가 Baidu 미니 프로그램
<?php include './BaiduPay.php'; $baidupay = new \feng\BaiduPay($config); $order_sn = time().rand(1000,9999); $order = array( 'body' => '测试商品', // 产品描述 'total_amount' => '1', // 订单金额(分) 'order_sn' => $order_sn, // 订单编号 ); $re = $baidupay->xcxPay($order); die(json_encode($re)); // JSON化直接返回小程序客户端 PHP
미니 프로그램 결제 클래스 .php)로 전달되며 미니 프로그램 결제, 서명도 포함됩니다. 확인, 콜백 및 환불:
/** * [xcxPay 百度小程序支付] * @param [type] $order [订单信息数组] * @return [type] [description] * $order = array( * 'body' => '', // 产品描述 * 'total_amount' => '', // 订单金额(分) * 'order_sn' => '', // 订单编号 * ); */ public static function xcxPay($order) { if(!is_array($order) || count($order) < 3) die("数组数据信息缺失!"); $config = self::$config; $requestParamsArr = array( 'appKey' => $config['app_key'], 'dealId' => $config['deal_id'], 'tpOrderId' => $order['order_sn'], 'totalAmount' => $order['total_amount'], ); $rsaSign = self::makeSign($requestParamsArr, $config['private_key']); // 声称百度支付签名 $bizInfo = array( 'tpData' => array( "appKey" => $config['app_key'], "dealId" => $config['deal_id'], "tpOrderId" => $order['order_sn'], "rsaSign" => $rsaSign, "totalAmount" => $order['total_amount'], "returnData" => '', "displayData" => array( "cashierTopBlock" => array( array( [ "leftCol" => "订单名称", "rightCol" => $order['body'] ], [ "leftCol" => "数量", "rightCol" => "1" ], [ "leftCol" => "订单金额", "rightCol" => $order['total_amount'] ] ), array( [ "leftCol" => "服务地址", "rightCol" => "北京市海淀区上地十街10号百度大厦" ], [ "leftCol" => "服务时间", "rightCol" => "2018/10/29 14:51" ], [ "leftCol" => "服务人员", "rightCol" => "百度App" ] ) ) ), "dealTitle" => $order['body'], "dealSubTitle" => $order['body'], "dealThumbView" => "https://b.bdstatic.com/searchbox/icms/searchbox/img/swan-logo.png", ), "orderDetailData" => '' ); $bdOrder = array( 'dealId' => $config['deal_id'], 'appKey' => $config['app_key'], 'totalAmount' => $order['total_amount'], 'tpOrderId' => $order['order_sn'], 'dealTitle' => $order['body'], 'signFieldsRange' => 1, 'rsaSign' => $rsaSign, 'bizInfo' => json_encode($bizInfo), ); return $bdOrder; }
위 내용은 바이두 결제(바이두 스마트 미니 프로그램 결제)를 다시 작성하고 캡슐화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!