> 위챗 애플릿 > 미니 프로그램 개발 > 바이두 결제(바이두 스마트 미니 프로그램 결제)를 다시 작성하고 캡슐화합니다.

바이두 결제(바이두 스마트 미니 프로그램 결제)를 다시 작성하고 캡슐화합니다.

藏色散人
풀어 주다: 2021-09-12 16:16:50
앞으로
2838명이 탐색했습니다.

최근 프로젝트 재구성으로 인해 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 &#39;./BaiduPay.php&#39;;
$baidupay = new \feng\BaiduPay($config);
$order_sn = time().rand(1000,9999);
$order = array(
    &#39;body&#39;          => &#39;测试商品&#39;, // 产品描述
    &#39;total_amount&#39;  => &#39;1&#39;, // 订单金额(分)
    &#39;order_sn&#39;      => $order_sn, // 订单编号
);
$re = $baidupay->xcxPay($order);
die(json_encode($re)); // JSON化直接返回小程序客户端
PHP
로그인 후 복사

미니 프로그램 결제 클래스 .php)로 전달되며 미니 프로그램 결제, 서명도 포함됩니다. 확인, 콜백 및 환불:

/**
 * [xcxPay 百度小程序支付]
 * @param  [type]  $order [订单信息数组]
 * @return [type]         [description]
 * $order = array(
 *      &#39;body&#39;          => &#39;&#39;, // 产品描述
 *      &#39;total_amount&#39;  => &#39;&#39;, // 订单金额(分)
 *      &#39;order_sn&#39;      => &#39;&#39;, // 订单编号
 * );
 */
public static function xcxPay($order)
{
    if(!is_array($order) || count($order) < 3)
        die("数组数据信息缺失!");
    $config = self::$config;
    $requestParamsArr = array(
        &#39;appKey&#39;    => $config[&#39;app_key&#39;],
        &#39;dealId&#39;    => $config[&#39;deal_id&#39;],
        &#39;tpOrderId&#39; => $order[&#39;order_sn&#39;],
        &#39;totalAmount&#39; => $order[&#39;total_amount&#39;],
    );
    $rsaSign = self::makeSign($requestParamsArr, $config[&#39;private_key&#39;]);  // 声称百度支付签名
    $bizInfo = array(
        &#39;tpData&#39; => array(
            "appKey"        => $config[&#39;app_key&#39;],
            "dealId"        => $config[&#39;deal_id&#39;],
            "tpOrderId"     => $order[&#39;order_sn&#39;],
            "rsaSign"       => $rsaSign,
            "totalAmount"   => $order[&#39;total_amount&#39;],
            "returnData"    => &#39;&#39;,
            "displayData"   => array(
                "cashierTopBlock" => array(
                    array(
                        [ "leftCol" => "订单名称", "rightCol"   => $order[&#39;body&#39;] ],
                        [ "leftCol" => "数量", "rightCol" => "1" ],
                        [ "leftCol" => "订单金额", "rightCol"   => $order[&#39;total_amount&#39;] ]
                    ),
                    array(
                        [ "leftCol" => "服务地址", "rightCol" => "北京市海淀区上地十街10号百度大厦" ],
                        [ "leftCol" => "服务时间", "rightCol" => "2018/10/29 14:51" ],
                        [ "leftCol" => "服务人员", "rightCol" => "百度App" ]
                    )
                )
            ),
            "dealTitle"     => $order[&#39;body&#39;],
            "dealSubTitle"  => $order[&#39;body&#39;],
            "dealThumbView" => "https://b.bdstatic.com/searchbox/icms/searchbox/img/swan-logo.png",
        ),
        "orderDetailData"   => &#39;&#39;
    );
    $bdOrder = array(
        &#39;dealId&#39;        => $config[&#39;deal_id&#39;],
        &#39;appKey&#39;        => $config[&#39;app_key&#39;],
        &#39;totalAmount&#39;   => $order[&#39;total_amount&#39;],
        &#39;tpOrderId&#39;     => $order[&#39;order_sn&#39;],
        &#39;dealTitle&#39;     => $order[&#39;body&#39;],
        &#39;signFieldsRange&#39; => 1,
        &#39;rsaSign&#39;       => $rsaSign,
        &#39;bizInfo&#39;       => json_encode($bizInfo),
    );
    return $bdOrder;
}
로그인 후 복사

위 내용은 바이두 결제(바이두 스마트 미니 프로그램 결제)를 다시 작성하고 캡슐화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:fengkui.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿