Maison  >  Article  >  développement back-end  >  Exemple de partage de code sur la façon dont thinkphp3.2.3 se connecte à la nouvelle version d'Alipay

Exemple de partage de code sur la façon dont thinkphp3.2.3 se connecte à la nouvelle version d'Alipay

黄舟
黄舟original
2017-09-02 09:55:212585parcourir

La nouvelle version de la vérification de signature Alipay est entièrement encapsulée, il vous suffit de configurer et d'appeler
Exemple de partage de code sur la façon dont thinkphp3.2.3 se connecte à la nouvelle version d'Alipay

public function pay(){
        //商户订单号,商户网站订单系统中唯一订单号,必填
        $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;
    }

notification asynchrone, directement dans votre notification asynchrone méthode Écrivez la logique et utilisez $_POST pour recevoir les paramètres transmis par Alipay et effectuer l'insertion ou la mise à jour de la base de données correspondante. Exemple de partage de code sur la façon dont thinkphp3.2.3 se connecte à la nouvelle version d'Alipay

Exemple de partage de code sur la façon dont thinkphp3.2.3 se connecte à la nouvelle version d'Alipay

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn