WAP 站 支付宝付款流程代码演示

支付宝调用方法

public function alipay($out_trade_no,$total_amount){$pri_key =私钥;//手动更改$arr = ['app_id' => APPID,//手动更改'method' => 'alipay.trade.wap.pay','return_url' => 'http://open.luomengyuan.cn/return_state','charset' => 'utf-8','sign_type' => 'RSA2','timestamp' => date('Y-m-d H:i:s'),'version' => '1.0','notify_url' => 'http://open.luomengyuan.cn/notify_state','biz_content' => '',];$arr_param = ['subject' => '测试','out_trade_no' => $out_trade_no,//订单号'total_amount' => $total_amount,//商品总金额'product_code' => 'QUICK_WAP_WAY',];//转换json格式$arr['biz_content'] = json_encode($arr_param,JSON_UNESCAPED_UNICODE);//按键排序ksort($arr);//拼接url参数$str = urldecode(http_build_query($arr));$rsa = new \RSA();//生成签名$arr['sign'] =  $rsa->rsaSign($str, $pri_key);//请求支付宝header('location:https://openapi.alipaydev.com/gateway.do?' . http_build_query($arr));}

异步回调方法代码

    /*** 支付宝异步返回*/public function notify_state(){$pub_key =支付宝公钥;//获取支付宝发送的数据$params = $_POST;//测试是否能走通//file_put_contents('./test.php', print_r($params,true) . "\r\n",FILE_APPEND);$sign = $params['sign'];//除去sign、sign_typeunset($params['sign']);unset($params['sign_type']);//排序ksort($params);//拼接字符串$str = urldecode(http_build_query($params));//使用公钥验签$rsa = new \RSA();$stat = $rsa->rsaCheck($str, $pub_key, $sign);if($stat){//判断支付状态if($params['trade_status'] == 'TRADE_SUCCESS' ||  $params['trade_status'] == 'TRADE_FINISHED'){$data = DB::table('order')->where('order_number',$params['out_trade_no'])->first();//根据订单号 判断订单金额是否一致if($data->sum_price == $params['total_amount']){//update order stat 更新订单状态$res = DB::table('order')->where('order_number',$params['out_trade_no'])->where('status',1)->update(['status'=>2]);if($res > 0){echo 'success';}}}}}

 RSA类

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部