L'image de l'effet est la suivante?:
La nouvelle version de la vérification de signature Alipay est encapsulée et doit uniquement être configurée et appelée.
public function pay(){ //商戶訂單號,商戶網站訂單系統(tǒng)中唯一訂單號,必填 $out_trade_no = '27201'.date('YmdHis',time()); //訂單名稱,必填 $proName = trim($_POST['WIDsubject']); //付款金額,必填 $total_amount = '0.01';//trim($_POST['WIDtotal_amount']); //商品描述,可空 $body = '27201';//trim($_POST['WIDbody']); Vendor('Alipay.aop.AopClient'); Vendor('Alipay.aop.request.AlipayTradePagePayRequest'); //請求 $c = new \AopClient(); $config = C('alipay'); $c->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $c->appId = $config['app_id']; $c->rsaPrivateKey = $config['merchant_private_key']; $c->format = "json"; $c->charset= "UTF-8"; $c->signType= "RSA2"; $c->alipayrsaPublicKey = $config['alipay_public_key']; $request = new \AlipayTradePagePayRequest(); $request->setReturnUrl($config['return_url']); $request->setNotifyUrl($config['notify_url']); $request->setBizContent("{" . " \"product_code\":\"FAST_INSTANT_TRADE_PAY\"," . " \"subject\":\"$proName\"," . " \"out_trade_no\":\"$out_trade_no\"," . " \"total_amount\":$total_amount," . " \"body\":\"$body\"" . " }"); $result = $c->pageExecute ($request); $model = M('c_house_order'); $data = array( 'product_name'=>$proName, 'order_num'=>$out_trade_no, 'total_amount'=>$total_amount, 'description'=>$body, 'user_id'=>1, 'add_time'=>NOW_TIME, 'up_time'=>NOW_TIME ); $model->add($data); //輸出 echo $result; }
Pour une notification asynchrone, écrivez la logique directement dans votre méthode de notification asynchrone, utilisez $_POST pour recevoir les paramètres transmis par Alipay et effectuez l'insertion ou la mise à jour de la base de données correspondante.
Pas mal, pas mal, pas mal, pas mal, pas mal, pas mal, pas mal, pas mal, pas mal, pas mal, pas mal, pas mal
Bien écrit si vous souhaitez apprendre la programmation, venez sur le site Web PHP chinois