omnipay-alipay
這個就不說了, 不明白如何下手的夥伴讓運營去和支付寶客服聯絡吧
將以下**新增到 composer.json
}
執行composer命令更新依賴
$ curl -s | php
$ php composer.phar update
該庫提供了 6 種不同的介面,各種介面有不同的配置和用法,我用過alipay_express 和 alipay_wapexpress,下面會有這兩種支付的步驟。
支付 控制器中:
use omnipay\omnipay;
//呼叫支付閘道器, 這一步其實就是配置引數,可以寫成通用函式
$gateway = omnipay::create('alipay_express'); //建立閘道器類
$gateway->setpartner('8888666622221111'); //合作者id
$gateway->setkey('your**key**here'); //支付key
$gateway->setselleremail('[email protected]'); 收款賬戶email
$gateway->setreturnurl(''); //返回url, 使用者支付後會跳轉到這個位址, 可以定義支付成功或者支付失敗等頁面返回增加使用者體驗
$gateway->setnotifyurl(''); //通知url,每次支付完成後, 支付寶伺服器會向這個位址發請求,返回支付狀態
//設定訂單
$options = [
'out_trade_no' => date('ymdhis') . mt_rand(1000,9999), //你自己**的唯一訂單號
'subject' => 'test', //訂單標題
'total_fee' => '0.01', //訂單**
//這裡也可以帶上其他引數,支付完之後支付寶會返回該引數和對應的值,不過設定了之後後面處理支付狀態需要多一步操作。我一般會設定'paytype' => 'alipay',
];
//跳轉支付
$response = $gateway->purchase($options)->send();
$response->redirect();
處理支付狀態
這個可以寫在支付是指定的returnurl或者notifyurl對應到控制器裡面
use omnipay\omnipay;
$gateway = omnipay::create('alipay_express');
$gateway->setpartner('8888666622221111');
$gateway->setkey('your**key**here');
$gateway->setselleremail('[email protected]');
$options = [ 'request_params' => $_request, ]; //這條語句前提是你在前面支付的時候沒有帶其他到引數,如果帶了, 需要將其他引數unset, 比如我一般會帶上乙個&paytype=alipay用來標識是支付寶支付, 所以我就需要在這條語句前先執行unset($_request['paytype']);
if ( $response->issuccessful() && $response->istradestatusok() ) else
測試支付 控制器中://和上面基本沒什麼差別 , 差別就是需要帶上你的伺服器使用openssl生成的rsa私鑰和支付寶的公鑰,
//另外在此之前需要先上傳你的rsa公鑰到支付寶,[上傳rsa公鑰](
use omnipay\omnipay;
//呼叫支付閘道器, 這一步其實就是配置引數,可以寫成通用函式
$gateway = omnipay::create('alipay_express');
$gateway->setpartner('8888666622221111'); //合作者id
$gateway->setkey('your**key**here'); //支付key
$gateway->setselleremail('[email protected]'); 收款賬戶email
// private key : [rsa私鑰及公鑰生成](
//alipay public key : 支付寶公鑰,
//找到合作夥伴金鑰管理->檢視支付寶公鑰。
//**注:php和.net使用demo中已有的alipay_public_key.pem金鑰檔案。**
$gateway->setprivatekey('這裡是一大串rsa鑰匙');
$gateway->setalipaypublickey('這裡是一大串支付寶的公鑰');
$gateway->setreturnurl(''); //返回url, 使用者支付後會跳轉到這個位址, 可以定義支付成功或者支付失敗等頁面返回增加使用者體驗
$gateway->setnotifyurl(''); //通知url,每次支付完成後, 支付寶伺服器會向這個位址發請求,返回支付狀態
//設定訂單
$options = [
'out_trade_no' => date('ymdhis') . mt_rand(1000,9999), //你自己**的唯一訂單號
'subject' => 'test', //訂單標題
'total_fee' => '0.01', //訂單**
];
//跳轉支付
$response = $gateway->purchase($options)->send();
$response->redirect();
處理支付狀態
和alipay_express的沒有區別
測試只用手機測試過, 跳轉到支付寶手機網頁支付的頁面。
其他php框架或者原生php的處理是類似的,希望此篇文章對你以後的開發有幫助。
posted @
2019-02-21 19:23
棲息地 閱讀(
...)
編輯收藏
golang對接支付寶支付
沙箱環境 金鑰 文件已經很詳細了,附鏈結 使用的第三方庫 簡單實現 網頁支付 應用公鑰 alipublickey 應用私鑰 privatekey func init 手機客戶端支付 func wapalipay binary,url.marshalbinary fmt.println string ...
支付寶香港對接
支付寶香港api對接,非常的簡單,由於文件是跟對接人溝通的,我就不發出來了,先看看效果。圖一支付成功。圖二支付失敗,原因15分鐘不掃碼就過期。重新在生成merchant reference 唯一id 上 如下 internal class hash256 else return builder.to...
Flutter對接支付寶介面
flutter支付寶介面的對接教程 支付寶開發平台應用申請 flutter呼叫tobias tobias的使用過程還是比較簡單的,只需要我們提供個乙個支付資訊的字串,其他的操作都由tobias完成。一般來說支付資訊都是由伺服器端提供的,如上述 所示就是從伺服器端取得的支付資訊。現在網上的一些教程一般...