久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

Discuz! 官方交流社區

標題: 在 X5 中拓展自己的支付 [打印本頁]

作者: monkeye    時間: 2024-10-31 09:34
標題: 在 X5 中拓展自己的支付
一直以來,Discuz! 的站長有一個痛苦,安裝了2個支付相關的插件,一個支付一個界面,界面極為不統一。


這種問題在 X5 時代徹底終極了。其實相關接口 X3.5 的時候已經出了,只是沒對外公開過文檔,很少有人知道。但是在 X5 中不僅拓展了它,還徹底優化加強了。

容我細細道來~~咳咳!

假設我們制作了一個需要用戶支付的插件,現在到了支付的地方,你要自己開發支付接口嗎?不必哦。你只需要對接 X5 自己的支付接口就行了,如下圖,假設我們定好了價格只需調用創建訂單的接口,生成一個鏈接,讓用戶點擊

[attach]32550[/attach]
就會調到統一的系統支付頁面
[attach]32551[/attach]
支付完成后會跳回到插件自己的頁面中
[attach]32552[/attach]
[attach]32553[/attach]
而這流程你只需要調用一個函數:

  1. $ret = payment::create_order('sample:test', 'test title', 'test desc', $price, $_G['siteurl'].'/index.php?app=plugin&id=sample:pay_callback');
復制代碼
$ret 為返回的鏈接,你視情況輸出即可

然后在 pay_callback.inc.php 腳本中可以直接判斷支付完成后的處理過程

另一方面

如果您想對接自己的支付體系,也是可以的,我們支持開發者新增新的支付通道

通過如下代碼,創建一個新的通道
  1. payment::channels_add('sample', [
  2.     'id' => 'sample:test',
  3.     'title' => 'sample',
  4.     'logo' => 'static/image/common/logo.svg',
  5.                 ]);
復制代碼
刪除可以這樣
  1. payment::channels_delete('sample');
復制代碼
這樣支付的時候自然會出現你新增的支付方式
[attach]32554[/attach]
pay/pay_test.php 腳本中我們可以定義此支付體系的具體支付過程
  1. class pay_test extends \pay_base {
  2.       public function pay($order) {
  3.       ......
  4.       }
  5. }
復制代碼

在 pay_notify.inc.php 中可以進行支付完成的通知的接收
  1. payment::finish_order('sample:test', $_GET['out_biz_no'], $_GET['trade_no'], time());
復制代碼
在 pay/pay_test.php 中完成回調處理
  1. class pay_test extends \pay_base {
  2.       public function callback($data, $order) {
  3.       ......
  4.       }
  5. }
復制代碼
同時,我們還為自定義支付通道的插件提供了,直接嵌入后臺的入口,添加 admin/payment/payment_test.php 文件接口把你增加的支付方式的設置內嵌在后臺和系統的設置項放在一起
[attach]32555[/attach]

  1. class payment_test {
  2.     var $name = 'test支付';
  3.     public function admincp() {
  4.     }
  5. }
復制代碼




作者: 科站網    時間: 2024-10-31 09:38
沙發位已占
作者: 維清    時間: 2024-10-31 09:39
沙發占了
作者: 凹凸曼    時間: 2024-10-31 09:40

作者: 湖中沉    時間: 2024-10-31 11:59
前排占位,其實支付這部分的對接,X3.5就支持,大家在X3.5就可以這么做了
作者: 科站網    時間: 2024-11-1 10:27
湖中沉 發表于 2024-10-31 11:59
前排占位,其實支付這部分的對接,X3.5就支持,大家在X3.5就可以這么做了

稍微有點點差別
作者: 湖中沉    時間: 2024-11-1 14:06
科站網 發表于 2024-11-1 10:27
稍微有點點差別

基本一致,創建訂單,回調,這些基礎該有的都有
作者: monkeye    時間: 2024-11-1 14:40
湖中沉 發表于 2024-11-1 14:06
基本一致,創建訂單,回調,這些基礎該有的都有

本不想改的,但發現不改別扭,不統一。何況想加點東西




歡迎光臨 Discuz! 官方交流社區 (http://www.9999xn.com/) Powered by Discuz! W1.0