溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel5.5如何實現(xiàn)支付寶手機網(wǎng)站支付

發(fā)布時間:2021-09-07 09:22:41 來源:億速云 閱讀:220 作者:小新 欄目:開發(fā)技術

這篇文章主要介紹了Laravel5.5如何實現(xiàn)支付寶手機網(wǎng)站支付,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1、安裝使用Laravel擴展庫yansongda/laravel-pay

yansongda/laravel-pay Github地址

通過composer進行安裝

$ composer require yansongda/laravel-pay

生成配置文件

$ php artisan vendor:publish --provider="Yansongda\\LaravelPay\\PayServiceProvider" --tag=laravel-pay

2、配置支付信息,填寫到配置文件pay.php中

Laravel5.5如何實現(xiàn)支付寶手機網(wǎng)站支付

運行支付寶提供的工具生成如下:

Laravel5.5如何實現(xiàn)支付寶手機網(wǎng)站支付

將公鑰文件里面的去除-----BEGIN PUBLIC KEY-----與-----END PUBLIC KEY-----,將剩下的內(nèi)容合并為一行,添加到應用公鑰中

將私鑰文件里面的去除-----BEGIN RSA PRIVATE KEY-----與-----END RSA PRIVATE KEY-----,將剩下的內(nèi)容合并為一行,需添加到配置文件中

配置文件中填寫對應內(nèi)容

Laravel5.5如何實現(xiàn)支付寶手機網(wǎng)站支付

3、拉起支付

yansongda/laravel-pay中拉起支付,是將支付form信息直接返回到頁面中,考慮到業(yè)務需求,需要通過json方式返回更方便一些

Laravel5.5如何實現(xiàn)支付寶手機網(wǎng)站支付

use Yansongda\Pay\Pay;

/**
 * Class SecondPay
 * @package App
 * 支付寶手機網(wǎng)頁支付接口
 */
class ZfbWapPay extends Model
{

 //發(fā)送支付請求
 public function send(Request $request,$outTradeNum,$payAmount)
 {
  $config = config('pay.alipay'); //取出配置信息,根據(jù)需求動態(tài)改變
  $config['return_url'] ='http://api.aiwangyouxi.com/web/pay/jump/'.$outTradeNum;

  $order = [
   'out_trade_no' => $outTradeNum, //我方訂單號
   'total_amount' => $payAmount, //支付金額,單位(元)
   'subject' => '游戲支付',
  ];

  $alipay = Pay::alipay($config)->wap($order);
  return $alipay; //返回form表單信息
 }
}

成功返回form表單信息,將信息插入到頁面中完成拉起支付

$("body").append(data.form_text);

4、支付回調(diào)

use Yansongda\Pay\Pay;

/**
 * Class WxwebController
 * @package App\Http\Controllers\Web
 * 支付寶h6支付回調(diào)
 */
class ZfbwebController extends Controller
{
 private $pay_order;  //我方訂單號
 private $call_order; //第三方訂單號

 public function notify(Request $request)
 {
  $pay_config = config('pay.alipay');
  $alipay = Pay::alipay($pay_config);

  $this->pay_order = $request->out_trade_no;
  $this->call_order = $request->trade_no;

  $save_back = $m_pay_back->addback($this->pay_order,json_encode($request->all())); //將支付回調(diào)信息記錄到數(shù)據(jù)庫中
  $check_result = $alipay->verify();
  if(!$check_result) { //回調(diào)驗簽失敗
   return '';
  }

  return $alipay->success();
 }
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Laravel5.5如何實現(xiàn)支付寶手機網(wǎng)站支付”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI