위챗 결제 예시코드를 tp에서 직접 사용하는 예시코드로 수정하고, 스캔코드 결제 및 콜백 기능만 간단히 만들어 보세요
위챗 결제 샘플코드를 tp에서 직접 사용하는 샘플코드로 수정하고, 간단히 스캔코드 결제 및 콜백 기능을 만들어보세요
모드 2가 사용됩니다. 필요한 경우 모드 1에서 코드를 직접 실행할 수 있습니다.
클래스 가져오기 내 가져오기를 살펴보면 가져오기 방법을 이해할 수 있습니다. 더 이상 이런 일에 대해 걱정할 필요가 없습니다.
코드 참조는 다음과 같습니다
결제 QR 코드 생성 예시 코드: public function index() {<br>
가져오기( "@.Controller.WxPay.WxPayNativePay" );<br>
$notify = 새로운 WxPayNativePay ();<br>
$url1 = $notify->GetPrePayUrl ( "123456789" );<br>
//모드 2<br>
/**<br>
* 프로세스: <br>
* 1. 통합주문 호출, code_url 획득, QR코드 생성 <br>
* 2. 사용자는 QR 코드를 스캔하여 결제합니다<br>
* 3. 결제가 완료되면 위챗 서버에서 결제가 완료되었음을 알려드립니다<br>
* 4. 결제성공 알림에서는 실제 결제성공 여부를 확인하기 위해 주문내역을 확인해야 합니다. (notify.php 참고) <br>
* @Time 2016-9-22 오후 3:41:59<br>
*/<br>
// $price = $_POST ['가격'];<br>
// $prodect_id = $_POST ['prodect_id'];<br>
// $premission_name = $_POST ['premission_name'];<br>
$가격 = 0.01;<br>
$product_id = 랜드( 2, 8 );<br>
$premission_name = $prodect_id;<br>
//처리 시작<br>
$input = 새로운 WxPayUnifiedOrder ();<br>
$input->SetBody ( "xxxx---" . $premission_name );<br>
$input->SetAttach ( "xxxxx-Attach" );<br>
$input->SetOut_trade_no ( WxPayConfig::MCHID . 날짜 ( "YmdHis" ) );<br>
$input->SetTotal_fee ( $price * 100 );<br>
$input->SetTime_start ( 날짜 ( "YmdHis" ) );<br>
$input->SetTime_expire ( 날짜 ( "YmdHis", 시간 () + 600 ) );<br>
$input->SetGoods_tag ( "xxx-tag" );<br>
$input->SetNotify_url("http://xxxx.com/wxtest/index.php/home/Index/notify" );<br>
$input->SetTrade_type ( "NATIVE" );<br>
$input->SetProduct_id ( rand ( 4, 8 ) );<br>
$result = $notify->GetPayUrl ( $input );<br>
$url2 = $result ["code_url"];<br>
//QR코드 생성<br>
error_reporting (E_ERROR);<br>
가져오기( "@.Controller.WxPay.PHPQRCODE" );<br>
$url = URL디코드( $url2 );<br>
QRcode::png ( $url );<br>}
WeChat 결제 콜백 처리를 위한 예제 코드: /**<code class="prettyprint linenums lang-php">/**<br>
* @功能描述:微信支付回调处理<br>
* @作者 希尔瓦柯<br>
* @时间 2016-9-22下午3:41:59<br>
*/<br>
public function notify() {<br>
// 获取微信回调的数据<br>
$notifiedData = $GLOBALS ['HTTP_RAW_POST_DATA'];<br>
// 加载相关的类<br>
import ( "@.Controller.WxPay.WxPayNativePay" );<br>
import ( "@.Controller.WxPay.WxPayData" );<br>
import ( "@.Controller.WxPay.WxPayNotify" );<br>
import ( "@.Controller.WxPay.PayNotifyCallBack" );<br>
$xml_to_arr = WxPayDataBase::FromXml_4_babbage ( $notifiedData );<br>
// 转成数组 并写入缓存<br>
F ( "wx_notified_data", $xml_to_arr);<br>
// 吧xml原型也写入xml<br>
F ( "wx_notified_data_xml", $notifiedData );<br>
<br>
// 给微信返回支付状态值<br>
$notify = new PayNotifyCallBack ();<br>
// 返回状态<br>
$notify->Handle ( false );<br>
}
* @기능 설명: 위챗 결제 콜백 처리
* @작가 실바코
* * @Time 2016-9-22 오후 3:41:59 */ 공개 함수 알림() { //WeChat 콜백 데이터 가져오기
$notifiedData = $GLOBALS ['HTTP_RAW_POST_DATA'];
//관련 클래스 로드