PHPCMF框架自带交易下单功能(简单的流程,不同于商店CMS),让每个模块都有交易下单功能,如同POSCMS的阅读收费功能,此交易是采用人民币支付。


开通方式:

1、为模块创建支付字段,并设置主表
image.png

这里的模板文件是指支付表单的模板文件,默认buy.html

记录下这个字段的id号,后面有用!


2、完成之后更新缓存,再到模块里发布一篇测试文章

3、在show.html里面加一个下单的链接

<a href="/index.php?s=api&c=buy&m=index&fid=字段id号&id={$id}">下单购买</a>

4、访问下单即可进入付款页面,如果提示模板不存在的话需要你自建模板,模板测试代码如下:

api/buy.html:

<p>模块内容:{$data.title}</p>
{if $sku_name}
<p>商品规格:
    {loop $sku_name $i $c}
    <label class="fc-sku-name">{$i}: {$c} </label>
    {/loop}
{/if}
<p>购买数量:{$num}</p>
<p>单价:¥{number_format($price, 2)} 元</p>
<p>总价:¥{number_format($price * $num, 2)} 元</p>

付款表单:
这个表单是自定义字段的模板文件buy.html生成的内容
{$payform}


5、交易成功的金额是被系统收入。如果需要购买后,将购买金额付款到作者账号中,可以写回调:

config/hooks.php

\Phpcmf\Hooks::on('pay_success', function($data) {
    // cms 分析订单来源
    list($a, $b, $c, $d) = explode('-', $data['mid']);
    list($sid, $mid) = explode('_', $a);
    if ($sid && $mid == '模块目录') {
        // 业务逻辑开始
        // 打款到收款人账户
        \Phpcmf\Service::M('pay')->add_money($data['touid'], abs($data['value']));
        // 收款人增加一条收入记录
        \Phpcmf\Service::M('pay')->add_paylog([
            'uid' => $data['touid'],
            'username' => $data['tousername'],
            'touid' => $data['uid'],
            'tousername' => $data['username'],
            'mid' => $data['mid'],
            'title' => $data['title'],
            'value' => abs($data['value']),
            'type' => $data['type'],
            'status' => 1,
            'result' => $payid,
            'paytime' => SYS_TIME,
            'inputtime' => $data['inputtime'],
        ]);
    }
});

把模块目录改成具体目录

文档最后更新时间:2017-08-24 05:41:42