使用Laravel怎么實現支付寶支付,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
/*
支付
*/
public function pay()
{
header("content-type:text/html;charset=utf8");
//echo 1;die;
// ******************************************************配置 start*************************************************************************************************************************
//↓↓↓↓↓↓↓↓↓↓請在這里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
//合作身份者id,以2088開頭的16位純數字
$alipay_config['partner'] = '合作身份者id';
//收款支付寶賬號
$alipay_config['seller_email'] = '';
//安全檢驗碼,以數字和字母組成的32位字符
$alipay_config['key'] = 'y8z1t3vey08bgkzlw78u9cbc4pizy2sj';
//↑↑↑↑↑↑↑↑↑↑請在這里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
//簽名方式 不需修改
$alipay_config['sign_type'] = strtoupper('MD5');
//字符編碼格式 目前支持 gbk 或 utf-8
//$alipay_config['input_charset']= strtolower('utf-8');
//ca證書路徑地址,用于curl中ssl校驗
//請保證cacert.pem文件在當前文件夾目錄中
$alipay_config['cacert'] = getcwd().'\\cacert.pem';
//訪問模式,根據自己的服務器是否支持ssl訪問,若支持請選擇https;若不支持請選擇http
$alipay_config['transport'] = 'http';
// ******************************************************配置 end*************************************************************************************************************************
// ******************************************************請求參數拼接 start*************************************************************************************************************************
$parameter = array(
"service" => "create_direct_pay_by_user",
"partner" => $alipay_config['partner'], // 合作身份者id
"seller_email" => $alipay_config['seller_email'], // 收款支付寶賬號
"payment_type" => '1', // 支付類型
"notify_url" => "http://bw.com133.com/notify_url.php", // 服務器異步通知頁面路徑
"return_url" => "支付后跳轉路徑", // 頁面跳轉同步通知頁面路徑
"out_trade_no" => "訂單號", // 商戶網站訂單系統中唯一訂單號
"subject" => "", // 訂單名稱
"total_fee" => "0.01", // 付款金額
"body" => "", // 訂單描述 可選
"show_url" => "", // 商品展示地址 可選
"anti_phishing_key" => "", // 防釣魚時間戳 若要使用請調用類文件submit中的query_timestamp函數
"exter_invoke_ip" => "", // 客戶端的IP地址
"_input_charset" => 'utf-8', // 字符編碼格式
);
// 去除值為空的參數
foreach ($parameter as $k => $v) {
if (empty($v)) {
unset($parameter[$k]);
}
}
// 參數排序
ksort($parameter);
reset($parameter);
// 拼接獲得sign
$str = "";
foreach ($parameter as $k => $v) {
if (empty($str)) {
$str .= $k . "=" . $v;
} else {
$str .= "&" . $k . "=" . $v;
}
}
$parameter['sign'] = md5($str . $alipay_config['key']);
$parameter['sign_type'] = $alipay_config['sign_type'];
// ******************************************************請求參數拼接 end*************************************************************************************************************************
// ******************************************************模擬請求 start*************************************************************************************************************************
$sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='https://mapi.alipay.com/gateway.do?_input_charset=utf-8' method='get'>";
foreach ($parameter as $k => $v) {
$sHtml.= "<input type='hidden' name='" . $k . "' value='" . $v . "'/>";
}
$sHtml = $sHtml."<script>document.forms['alipaysubmit'].submit();</script>";
// ******************************************************模擬請求 end*************************************************************************************************************************
echo $sHtml;
}關于使用Laravel怎么實現支付寶支付問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。