本篇內容介紹了“怎么用PHP實(shí)現支付寶和微信掃碼在線(xiàn)支付的功能”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!
PHP支付寶和微信掃碼在線(xiàn)支付實(shí)例,這是PC端的掃碼支付,支付成功后,在回調地址顯示支付相關(guān)信息。
1.修改配置文件 Application/common/conf/config.php
$arr = array( 'DB_TYPE' => '', 'DB_HOST' => "localhost", 'DB_NAME' => 'demo', 'DB_USER' => "sucaihuo.com", 'DB_PWD' => "sucaihuo.com", 'DB_PORT' => 3306, 'DB_PREFIX' => '', );
2.修改支付寶和微信支付配置信息Application/home/conf/config.php
支 付寶請到支付寶商戶(hù)官網(wǎng)申請:https://b.alipay.com/?ynsrc=zhuzhanA,微信支付配置申請:https: //mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN
$arr = array( 'URL_ROUTER_ON' => true, /* 支付設置 */ 'payment' => array( 'alipay' => array( // 收款賬號郵箱 'email' => 'sucaihuo@126.com', // 加密key,開(kāi)通支付寶賬戶(hù)后給予 'key' => 'ggo084pb84gl43qnw82a39n9b7r1jq2m', // 合作者ID,支付寶有該配置,開(kāi)通易寶賬戶(hù)后給予 'partner' => '2088901006538525', //收款支付寶賬號,以2088開(kāi)頭由16位純數字組成的字符串,一般情況下收款賬號就是簽約賬號 'seller_id' => '2088901006538525', //簽名方式 'sign_type' => strtoupper('MD5'), //字符編碼格式 目前支持utf-8 'input_charset' => strtolower('utf-8'), // 產(chǎn)品類(lèi)型,無(wú)需修改 'service' => 'create_direct_pay_by_user', // 支付類(lèi)型 ,無(wú)需修改 'payment_type' => '1', ), 'alipaywap' => array( // 收款賬號郵箱 'email' => 'sucaihuo@126.com', // 加密key,開(kāi)通支付寶賬戶(hù)后給予 'key' => 'ggo084pb84gl43qnw82a39n9b7r1jq2m', // 合作者ID,支付寶有該配置,開(kāi)通易寶賬戶(hù)后給予 'partner' => '2088901006538525', //收款支付寶賬號,以2088開(kāi)頭由16位純數字組成的字符串,一般情況下收款賬號就是簽約賬號 'seller_id' => '2088901006538525', //簽名方式 'sign_type' => strtoupper('MD5'), //字符編碼格式 目前支持utf-8 'input_charset' => strtolower('utf-8'), // 產(chǎn)品類(lèi)型,無(wú)需修改 'service' => 'alipay.wap.create.direct.pay.by.user', // 支付類(lèi)型 ,無(wú)需修改 'payment_type' => '1', ), 'wechatjspai' => array( 'APPID' => 'wx422126b0b62bbfcfc', 'MCHID' => '1349825901', 'KEY' => '2088901006538525', 'APPSECRET' => '45843e705995a12106155f4c26f716dc', ), ) );
訂單生成代碼如下: Application\Home\Controller\PayController.class.php
public function submit() { $paytype = I("post.paytype"); $data['order_money'] = I("post.money", 1);//訂單金額 $data['order_no'] = date("YmdHis") . rand(1000, 9999);//訂單號 $data['pay_type'] = $paytype; $data['addtime'] = time(); M("order")->add($data); $site_url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; $dir = dirname($site_url); $data['url_notify'] = $dir . "/Notify/pay_alipay";//回調地址 $data['url_return'] = $dir . "/Pay/order_detail";//返回地址 $data['title'] = "標題" . $data['order_no']; $data['body'] = "主體內容" . $data['order_no']; if ($paytype == 'alipay') { $this->alipay_jump($data); } elseif ($paytype == 'wechat_code') { $data['url_notify'] = $dir . "/Notify/pay_weixin"; $this->wechat_jump($data); } }
支付成功回調,更改訂單狀態(tài)為已付款: Application\Home\Controller\NotifyController.class.php
public function pay_weixin() { $simple = json_decode(json_encode(simplexml_load_string($GLOBALS['HTTP_RAW_POST_DATA'], 'SimpleXMLElement', LIBXML_NOCDATA)), true); $notify_data['order_no'] = $notify_data['trade_no'] = $simple['out_trade_no']; $notify_data['third_id'] = $simple['transaction_id']; $notify_data['pay_money'] = $simple['total_fee']; $notify_data['payment_method'] = 'weixin'; // $sign = $simple['sign']; // file_put_contents('ac_simple.txt', json_encode($simple)); // file_put_contents('ac_notify_data.txt', json_encode($notify_data)); $this->order_pay($notify_data); } public function pay_alipay() { $notify_data['order_no'] = $notify_data['trade_no'] = I("post.out_trade_no"); $notify_data['third_id'] = I("post.trade_no"); $notify_data['pay_money'] = I("post.total_fee"); $notify_data['payment_method'] = 'alipay'; $this->order_pay($notify_data); file_put_contents('ac_notify_data.txt', json_encode($_REQUEST)); } /** * 支付結果返回 */ public function order_pay($data_order) { $order_no = $data_order['order_no']; if ($order_no == '') { return false; } $order_info = M('order')->where(array("order_no" => $order_no))->find(); if ($order_info['state'] == 0) { $data_order['update_time'] = $_SERVER ['REQUEST_TIME']; $data_order['state'] = 1; // 已付款 M('order')->where(array("order_no" => $order_no))->save($data_order); } }
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站