WeChat 결제가 인기를 끌면서 점점 더 많은 웹사이트에서 WeChat 결제 기능을 통합해야 합니다. 이 기사에서는 WeChat 결제 개시 및 쿼리를 PHP로 구현하는 방법에 대해 설명합니다.
PHP에서 WeChat 결제를 시작하려면 첫 번째 단계는 WeChat 결제의 통합 주문 API를 호출하여 선불 주문을 생성하는 것입니다. API는 판매자 ID, 결제 금액, 주문 번호, 콜백 URL 등을 포함한 몇 가지 필수 매개변수를 전달해야 합니다. 다음은 샘플 코드입니다.
<?php require_once('WxPayApi.php'); require_once('WxPayUnifiedOrder.php'); $order = new WxPayUnifiedOrder(); $order->SetBody('商品描述'); $order->SetOut_trade_no('订单号'); $order->SetTotal_fee('支付金额'); $order->SetNotify_url('回调URL'); $order->SetTrade_type('JSAPI'); $order->SetOpenid('用户OpenID'); $result = WxPayApi::unifiedOrder($order);
통합 주문 API를 호출한 후 선불 거래 세션 ID(prepay_id) 및 기타 필수 매개변수를 포함한 선불 주문 정보를 가져와야 합니다. 다음은 샘플 코드입니다.
<?php require_once('WxPayApi.php'); require_once('WxPayData.php'); $input = new WxPayData(); $input->SetBody('商品描述'); $input->SetOut_trade_no('订单号'); $input->SetTotal_fee('支付金额'); $input->SetNotify_url('回调URL'); $input->SetTrade_type('JSAPI'); $input->SetOpenid('用户OpenID'); $result = WxPayApi::unifiedOrder($input); $prepay_id = $result['prepay_id']; $params = [ 'appId' => $result['appid'], 'timeStamp' => time(), 'nonceStr' => $result['nonce_str'], 'package' => "prepay_id={$prepay_id}", 'signType' => 'MD5' ]; $params['paySign'] = WxPayApi::getSign($params);
선불 주문 정보를 얻은 후, 얻은 매개변수를 프런트 엔드에 전달하여 사용자가 WeChat 클라이언트에서 결제를 시작할 수 있도록 할 수 있습니다. 다음은 샘플 코드입니다.
<?php echo '<script language="javascript">'; echo 'WeixinJSBridge.invoke("getBrandWCPayRequest", { "appId":"'.$params['appId'].'", "timeStamp":"'.$params['timeStamp'].'", "nonceStr":"'.$params['nonceStr'].'", "package":"'.$params['package'].'", "signType":"'.$params['signType'].'", "paySign":"'.$params['paySign'].'" }, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ){ alert("支付成功"); }else{ alert("支付失败"); } });'; echo '</script>';
결제가 완료된 후 거래가 성공적으로 완료되었는지 확인하기 위해 결제 결과를 조회해야 합니다. 다음은 샘플 코드입니다.
<?php require_once('WxPayApi.php'); $input = new WxPayOrderQuery(); $input->SetOut_trade_no('订单号'); $result = WxpayApi::orderQuery($input); if ($result['trade_state'] == 'SUCCESS') { echo '支付成功'; } else { echo '支付失败'; }
요약:
위는 PHP에서 WeChat 결제를 시작하고 쿼리하는 전체 과정입니다. 웹사이트에 WeChat 결제를 통합해야 하는 경우 위의 단계를 따를 수 있습니다. 개발 시에는 공식적으로 제공되는 SDK를 사용하는 것이 좋습니다. 이는 많은 시간과 에너지를 절약할 수 있습니다.
위 내용은 PHP에서 WeChat 결제 시작 및 쿼리 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!