基於 PAYJS 微信支付個人介面開發的 Laravel Package,可直接用於生產環境

cncici發表於2018-09-18

簡介

本專案是基於 PAYJS 的 API 開發的 Laravel Package,可直接用於生產環境

PAYJS 針對個人主體提供微信支付接入能力,是經過檢驗的正規、安全、可靠的微信支付個人開發介面

其它版本: PAYJS 通用開發包

安裝

通過 Composer 安裝

$ composer require xhat/payjs-laravel

使用方法

一、釋出並修改配置檔案

  • 釋出配置檔案
    php artisan vendor:publish --provider="Xhat\Payjs\PayjsServiceProvider"
  • 編輯配置檔案 config/payjs.php 配置商戶號和通訊金鑰
    return [
    'mchid' => '', // 填寫商戶號
    'key'   => '', // 填寫通訊KEY
    ];

二、在業務中使用

首先在業務模組中引入門面

use Xhat\Payjs\Facades\Payjs;
  • 掃碼支付
// 構造訂單基礎資訊
$data = [
    'body' => '訂單測試',                        // 訂單標題
    'total_fee' => 2,                           // 訂單標題
    'out_trade_no' => time(),                   // 訂單號
    'attach' => 'test_order_attach',            // 訂單附加資訊(可選引數)
    'notify_url' => 'https://www.baidu.com',    // 非同步通知地址(可選引數)
];
return Payjs::native();
  • 收銀臺模式支付(直接在微信瀏覽器開啟)
// 構造訂單基礎資訊
$data = [
    'body' => '訂單測試',                         // 訂單標題
    'total_fee' => 2,                            // 訂單金額
    'out_trade_no' => time(),                    // 訂單號
    'attach' => 'test_order_attach',             // 訂單附加資訊(可選引數)
    'notify_url' => 'https://www.baidu.com',     // 非同步通知地址(可選引數)
    'callback_url' => 'https://www.baidu.com',   // 支付後前端跳轉地址(可選引數)
];
$url = Payjs::cashier($data);
return redirect($url);
  • 查詢訂單
// 根據訂單號查詢訂單狀態
$payjs_order_id = '****************';
return Payjs::check($payjs_order_id);
  • 關閉訂單
// 根據訂單號關閉訂單
$payjs_order_id = '****************';
return Payjs::close($payjs_order_id);
  • 退款
// 根據訂單號退款
$payjs_order_id = '****************';
return Payjs::refund($payjs_order_id);
  • 獲取商戶資料
// 返回商戶基礎資訊
return Payjs::info();
  • 獲取使用者資料
// 根據訂單資訊中的 OPENID 查詢使用者資料
$openid = '***************';
return Payjs::user($openid);
  • 查詢銀行名稱
// 根據訂單資訊中的銀行編碼查詢銀行中文名稱
$bank = '***************';
return Payjs::bank($bank);
  • 接收非同步通知
// 接收非同步通知,無需關注驗籤動作,已自動處理
$notify_info = Payjs::notify();
Log::info($notify_info);

更新日誌

Version 1.0

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章