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

返回列表 發(fā)帖
查看: 630|回復(fù): 7

[X5開發(fā)特性] 在 X5 中拓展自己的支付

75

主題

312

回帖

702

積分

管理員

貢獻(xiàn)
18 點(diǎn)
金幣
41 個(gè)
樓主
發(fā)表于 2024-10-31 09:34:12 | 只看樓主 |只看大圖 |倒序?yàn)g覽 |閱讀模式
一直以來,Discuz! 的站長有一個(gè)痛苦,安裝了2個(gè)支付相關(guān)的插件,一個(gè)支付一個(gè)界面,界面極為不統(tǒng)一。


這種問題在 X5 時(shí)代徹底終極了。其實(shí)相關(guān)接口 X3.5 的時(shí)候已經(jīng)出了,只是沒對(duì)外公開過文檔,很少有人知道。但是在 X5 中不僅拓展了它,還徹底優(yōu)化加強(qiáng)了。

容我細(xì)細(xì)道來~~咳咳!

假設(shè)我們制作了一個(gè)需要用戶支付的插件,現(xiàn)在到了支付的地方,你要自己開發(fā)支付接口嗎?不必哦。你只需要對(duì)接 X5 自己的支付接口就行了,如下圖,假設(shè)我們定好了價(jià)格只需調(diào)用創(chuàng)建訂單的接口,生成一個(gè)鏈接,讓用戶點(diǎn)擊


就會(huì)調(diào)到統(tǒng)一的系統(tǒng)支付頁面

支付完成后會(huì)跳回到插件自己的頁面中


而這流程你只需要調(diào)用一個(gè)函數(shù):

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

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

另一方面

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

通過如下代碼,創(chuàng)建一個(gè)新的通道
  1. payment::channels_add('sample', [
  2.     'id' => 'sample:test',
  3.     'title' => 'sample',
  4.     'logo' => 'static/image/common/logo.svg',
  5.                 ]);
復(fù)制代碼
刪除可以這樣
  1. payment::channels_delete('sample');
復(fù)制代碼
這樣支付的時(shí)候自然會(huì)出現(xiàn)你新增的支付方式

pay/pay_test.php 腳本中我們可以定義此支付體系的具體支付過程
  1. class pay_test extends \pay_base {
  2.       public function pay($order) {
  3.       ......
  4.       }
  5. }
復(fù)制代碼

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


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



回復(fù)

使用道具 舉報(bào)

40

主題

3198

回帖

5451

積分

應(yīng)用開發(fā)者

Discuz! 運(yùn)維

貢獻(xiàn)
215 點(diǎn)
金幣
685 個(gè)
QQ
沙發(fā)
發(fā)表于 2024-10-31 09:38:53 | 只看Ta
沙發(fā)位已占
回復(fù)

使用道具 舉報(bào)

1

主題

96

回帖

129

積分

應(yīng)用開發(fā)者

貢獻(xiàn)
0 點(diǎn)
金幣
27 個(gè)
板凳
發(fā)表于 2024-10-31 09:39:02 | 只看Ta
沙發(fā)占了
回復(fù)

使用道具 舉報(bào)

10

主題

286

回帖

560

積分

應(yīng)用開發(fā)者

貢獻(xiàn)
5 點(diǎn)
金幣
173 個(gè)
QQ
地板
發(fā)表于 2024-10-31 09:40:20 | 只看Ta
回復(fù)

使用道具 舉報(bào)

31

主題

5901

回帖

1萬

積分

應(yīng)用開發(fā)者

貢獻(xiàn)
619 點(diǎn)
金幣
1444 個(gè)
QQ
5#
發(fā)表于 2024-10-31 11:59:46 | 只看Ta
前排占位,其實(shí)支付這部分的對(duì)接,X3.5就支持,大家在X3.5就可以這么做了
回復(fù)

使用道具 舉報(bào)

40

主題

3198

回帖

5451

積分

應(yīng)用開發(fā)者

Discuz! 運(yùn)維

貢獻(xiàn)
215 點(diǎn)
金幣
685 個(gè)
QQ
6#
發(fā)表于 2024-11-1 10:27:17 | 只看Ta
湖中沉 發(fā)表于 2024-10-31 11:59
前排占位,其實(shí)支付這部分的對(duì)接,X3.5就支持,大家在X3.5就可以這么做了

稍微有點(diǎn)點(diǎn)差別
回復(fù)

使用道具 舉報(bào)

31

主題

5901

回帖

1萬

積分

應(yīng)用開發(fā)者

貢獻(xiàn)
619 點(diǎn)
金幣
1444 個(gè)
QQ
7#
發(fā)表于 2024-11-1 14:06:42 | 只看Ta
科站網(wǎng) 發(fā)表于 2024-11-1 10:27
稍微有點(diǎn)點(diǎn)差別

基本一致,創(chuàng)建訂單,回調(diào),這些基礎(chǔ)該有的都有
回復(fù)

使用道具 舉報(bào)

75

主題

312

回帖

702

積分

管理員

貢獻(xiàn)
18 點(diǎn)
金幣
41 個(gè)
8#
 樓主| 發(fā)表于 2024-11-1 14:40:53 | 只看Ta
湖中沉 發(fā)表于 2024-11-1 14:06
基本一致,創(chuàng)建訂單,回調(diào),這些基礎(chǔ)該有的都有

本不想改的,但發(fā)現(xiàn)不改別扭,不統(tǒng)一。何況想加點(diǎn)東西
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

  • 關(guān)注公眾號(hào)
  • 有償服務(wù)微信
  • 有償服務(wù)QQ

手機(jī)版|小黑屋|Discuz! 官方交流社區(qū) ( 皖I(lǐng)CP備16010102號(hào) |皖公網(wǎng)安備34010302002376號(hào) )|網(wǎng)站地圖|star

GMT+8, 2025-9-19 05:03 , Processed in 0.190230 second(s), 32 queries .

Powered by Discuz! W1.0 Licensed

Copyright © 2001-2025 Discuz! Team.

關(guān)燈 在本版發(fā)帖
有償服務(wù)QQ
有償服務(wù)微信
返回頂部
快速回復(fù) 返回頂部 返回列表