全局表單,提交并付款的效果

開(kāi)發(fā)思路,參考官方的付款手冊(cè),http://www.apdwn.com/doc/458.html
官方提供的流程時(shí)表單提交后,然后進(jìn)行單擊付款,我這套方案就不用點(diǎn)擊兩次,一次性提交和付款一起操作。
開(kāi)發(fā)流程:
1、新建表單,名字取名為ceyice
2、進(jìn)入自定義字段,然后創(chuàng)建payid字段,來(lái)存儲(chǔ)是否支付成功的id號(hào)
3、新建支付類文件:dayrui/App/Form/Models/Ceyice.php
4、修改表單控制器文件:dayrui/App/Form/Contrllers/Ceyice.php
<?php namespace Phpcmf\Controllers;
/**
* 二次開(kāi)發(fā)時(shí)可以修改本文件,不影響升級(jí)覆蓋
*/
class Ceyice extends \Phpcmf\Home\Form
{
public function index() {
$this->_Home_List();
}
public function show() {
$this->_Home_Show();
}
public function post() {
$this->_Home_Post();
}
//
protected function _Call_Post($data) {
// 組合發(fā)起支付功能
$pay = [
'mark' => 'my-form_ceyice-'.$data[1]['id'],
'title' => '支付發(fā)起',
'money' => 200, // 測(cè)試200
];
$pay['uid'] = (int)$this->member['uid'];
$pay['username'] = (string)$this->member['username'];
$pay['type'] = $_POST['pay']['type'];
$money = floatval($pay['money']);
if (!$money) {
$this->_msg(0, dr_lang('金額(%s)不正確', $money));
exit;
}
$rt = \Phpcmf\Service::M('Pay')->post($pay);
if (!$rt['code']) {
$this->_msg(0, $rt['msg']);
}
$url = PAY_URL.'index.php?s=pay&id='.$rt['code'];
if (IS_API_HTTP || (\Phpcmf\Service::L('input')->get('is_ajax') || IS_API_HTTP || IS_AJAX)) {
// 回調(diào)頁(yè)面
$this->_json($rt['code'], "提交成功,即將進(jìn)入付款", ['url' => $url]);
} else {
// 跳轉(zhuǎn)到支付頁(yè)面,必須跳轉(zhuǎn)到統(tǒng)一的主域名中付款
dr_redirect($url, 'auto');
}
return parent::_Call_Post($data);
}
}5、新建支付文件 config/pay/ceyice.html
<input type="hidden" name="pay[url]" value="{$html.url}" />
<input type="hidden" name="pay[mark]" value="{$html.mark}" />
<input type="hidden" name="pay[title]" value="{$html.title}" />
<div class="form-body form">
<div class="form-group">
<label class="col-md-3 control-label">支付金額</label>
<div class="col-md-2">
<input type="hidden" value="{$html.pay_value}" name="pay[money]">
<p class="form-control-static fc-price-color"> <i class="fa fa-rmb"></i> {number_format($html.pay_value, 2)} 元</p>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">賬戶余額</label>
<div class="col-md-2">
<p class="form-control-static fc-price-color"> <i class="fa fa-rmb"></i> {number_format($member.money, 2)} 元</p>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label" style="padding-top:10px">付款方式</label>
<div class="col-md-5">
<div class="btn-group" data-toggle="buttons">
{loop $html.pay_type $name $t}
<input type="radio" name="pay[type]" {if $name == $html.pay_default}selected{/if}" value="{$name}" class="toggle"> {$t['icon']} {$t['name']} </label>
{/loop}
</div>
</div>
</div>
</div>6、修改表單框架代碼:在表單提交form內(nèi)部加上
{dr_payform("my-form_ceyice-sn")} {php $rt_url="";}
7、效果就是圖一的效果了
支持迅睿開(kāi)源精神,我把我在開(kāi)發(fā)中做的一些筆記分享,需要有開(kāi)發(fā)基礎(chǔ)的開(kāi)發(fā)者才能看得懂,也可以接收付費(fèi)定制!
厲害,感謝分享
大神這個(gè)字段是什么類型 文本 還是組合購(gòu)買或是單一購(gòu)買
看下大神的杰作
好東西,我也想弄一個(gè),付費(fèi)求服務(wù)啊
學(xué)習(xí)一下,學(xué)習(xí)一下
學(xué)習(xí)了,感謝分享
回復(fù)看看,很好的貼子
學(xué)習(xí)學(xué)習(xí),正好需要
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂
回復(fù)@IT-老男孩 后半句沒(méi)看到嗎?用來(lái)存id號(hào)
記錄一下,以防后備之需。
我來(lái)學(xué)習(xí)看看
學(xué)習(xí)學(xué)學(xué)習(xí)學(xué)習(xí)·····················
感謝分享,學(xué)習(xí)學(xué)習(xí)
學(xué)習(xí),學(xué)習(xí)
寫的不錯(cuò)