💳支付系统

面板在线支付系统

支持支付渠道

使用

  1. 访问:网站地址/admin/system#payment

  2. 设置对应支付渠道的相关配置

  3. 选填【通用支付回调地址】,【自定义商品名称】

  4. 在【支付宝支付】【微信支付】【QQ钱包】【特殊支付】中选择渠道,以启用渠道

各渠道申请

对接支付渠道教程

下表中提及文件均可作为新对接文件的参考和代码规范资料!

  1. app/Http/Controllers/Gateway/*下添加新的支付渠道php文件;

    1. 该文件class推荐为 extends AbstractPayment,该文件存有大量必要function方程;

    2. 文件必含方程:purchase, notify;

    • purchase

      // 获取商品信息建立面板在线订单
      $payment = $this->creatNewPayment(Auth::id(), $request->input('id'), $request->input('amount'));

      从$payment 获取支付渠道需要的订单信息。建立渠线支付单,再对渠道返回信息进行储存或转跳处理。支付链接生成二维码保存到payment的qr_code下(参考F2Fpay)或者保存url转跳至支付网站(参考Paypal);

    • notify:接受异步通知,进行必要的来源验证,订单成功状态验证等。

      // 支付入账,开通服务
      $this->paymentReceived(string 面板payment的Trade No)

      返回状态码,如果渠道需要状态码确认通知是否收到的话。

      • 其中notify_url/callback_url等异步通知链接设置为

        route('payment.notify', ['method' => '支付getPayment转跳名']),
  2. app/Http/Controllers/PaymentController.phpgetClient()添加支付方式转跳名;

  3. app/Http/Controllers/Admin/SystemController.phpgetPayment()支付设置判断 switch中 添加支付方式必填项目;

  4. 可使用Laravel的magration工具,往数据库 config 表中加入必要的配置信息;

  5. resources/views/admin/config/system.blade.php中添加配置设置;

  6. config/common.phppayment->labels下添加支付方式转跳名与显示标签名。

大部分面板处理代码都已经精简细化,方便添加新的支付方式;有疑问可以开issue 😀

最后更新于