>백엔드 개발 >PHP 튜토리얼 >PHP와 미니 프로그램 간 결제 인터페이스 도킹 안내

PHP와 미니 프로그램 간 결제 인터페이스 도킹 안내

WBOY
WBOY원래의
2023-07-04 10:34:361670검색

PHP와 미니 프로그램 간의 결제 인터페이스 안내

모바일 결제의 인기로 인해 점점 더 많은 판매자가 미니 프로그램을 주요 판매 채널 중 하나로 사용하기 시작했습니다. 미니 프로그램의 결제 기능을 구현하려면 해당 결제 인터페이스에 연결해야 합니다. 이 기사에서는 PHP 언어를 사용하여 미니 프로그램의 결제 인터페이스를 연결하는 방법을 소개하고 참조용 코드 예제를 첨부합니다.

  1. 준비
    시작하기 전에 다음 정보를 얻었는지 확인하세요.
  2. 판매자 ID(MCHID)
  3. API 키(KEY)
  4. 미니 프로그램의 AppID
  5. 미니 프로그램 키(비밀)
  6. 서명 Generation
    서명 생성은 미니 프로그램의 결제 인터페이스와 연결하기 위한 매우 중요한 단계입니다. 다음은 서명을 생성하는 데 사용할 수 있는 예시 함수입니다.
function createSign($params, $key){
    ksort($params);  //按照参数名ASCII码从小到大排序

    $string = '';
    foreach($params as $k => $v){
        if($v != '' && $k != 'sign'){
            $string .= $k . '=' . $v . '&';
        }
    }

    $string .= 'key=' . $key;
    $string = md5($string);  //签名加密

    return strtoupper($string);  //转换成大写
}
  1. 통합 주문 인터페이스
    통합 주문 인터페이스는 미니 프로그램 결제의 첫 번째 단계입니다. 다음은 WeChat 서버에 통합 주문 요청을 보내는 데 사용할 수 있는 샘플 함수입니다.
function createUnifiedOrder($mchid, $key, $appid, $openid, $out_trade_no, $total_fee){
    $params = array(
        'appid' => $appid,
        'body' => '商品描述',
        'mch_id' => $mchid,
        'nonce_str' => md5(time()),
        'notify_url' => '支付成功回调地址',
        'openid' => $openid,
        'out_trade_no' => $out_trade_no,
        'spbill_create_ip' => $_SERVER['REMOTE_ADDR'],
        'total_fee' => $total_fee,
        'trade_type' => 'JSAPI'
    );

    //生成签名
    $params['sign'] = createSign($params, $key);

    //将数组转换为XML格式
    $xml = '<xml>';
    foreach($params as $k => $v){
        $xml .= '<' . $k . '>' . $v . '</' . $k . '>';
    }
    $xml .= '</xml>';

    //向微信服务器发送请求
    $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

    $response = curl_exec($ch);
    curl_close($ch);

    //解析XML响应
    $result = simplexml_load_string($response);
    $prepay_id = $result->prepay_id;  //获取预支付交易会话标识

    return $prepay_id;
}
  1. 미니 프로그램 결제 작업
    미니 프로그램은 백그라운드에서 prepay_id를 요청한 다음 prepay_id를 사용하여 결제 작업을 수행해야 합니다. 지불 작업. 다음은 미니 프로그램 결제를 호출하는 함수 예시입니다:
function getMiniProgramPayParams($mchid, $key, $appid, $openid, $out_trade_no, $total_fee){
    $prepay_id = createUnifiedOrder($mchid, $key, $appid, $openid, $out_trade_no, $total_fee);

    $params = array(
        'appId' => $appid,
        'timeStamp' => time(),
        'nonceStr' => md5(time()),
        'package' => 'prepay_id=' . $prepay_id,
        'signType' => 'MD5'
    );

    //生成签名
    $params['paySign'] = createSign($params, $key);

    return $params;
}

결론:
위 단계를 통해 PHP 언어를 사용하여 미니 프로그램의 결제 인터페이스에 연결하여 모바일 결제 기능을 구현할 수 있습니다. 물론 실제 신청 과정에서는 특정 비즈니스 요구에 따라 해당 조정 및 확장이 이루어져야 합니다. 이 글의 내용이 귀하에게 도움이 되어 미니프로그램 결제 기능을 성공적으로 구현하는 데 도움이 되기를 바랍니다.

위 내용은 PHP와 미니 프로그램 간 결제 인터페이스 도킹 안내의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.