包含“c”的产品文档
业务系统开发文档>实名认证接口开发文档
c\plugins\certification\目录下 二、目录结构以官方实名认证为例,其主要目录结构如下:\public\plugins\certification\idcsmartali\|--- controller (外部调用)|--- Idcsmartali.php (入口文件)|--- config.php (配置项客户配置项,在插件设置中显示) 三、开发流程以官方实名认证为例:1、创建实名认证目录\public\plugins\certification\idcsmartali\;①目录名以小写字母+下划线形式,必须以字母开头,如idcsmartali; 2、创建入口文件:Idcsmartali.php:①命名空间namespace certification\idcsmartali(控制器下命名空间对应相应目录即可,其它同理);②以目录名大驼峰+.php,创建在支付接口根目录下,如idcsmartali\Idcsmartali.php;③文件中需要定义info属性,示例:# 基础信息public $info = array(    'name'        => 'Idcsmartali',//Demo插件英文名,改成你的插件英文就行了    'title'       => '智简魔方-芝麻信用',    'description' => '智简魔方-芝麻信用',    'status'      => 1,    'author'      => '智简魔方',    'version'     => '1.0.0',    'help_url'    => 'https://my.idcsmart.com/goods.html?id=817');④必须实现install()安装以及uninstall()卸载方法,没有额外操作,返回true即可;⑤可选择实现IdcsmartaliCollectionInfo($type)方法,前台自定义字段输出。方法名:插件名+CollectionInfo参数:type,实名认证类型,如person或company返回:自定义字段,键表示字段名,title表示字段显示,type字段类型(如文本text,password密码),value默认值,tip提示,required是否必填返回:[    'name' => [        'title' => '姓名',        'type'  => 'text',        'value' => '',        'tip'   => '',        'required'   => true, # 是否必填    ],    'card' => [        'title' => '身份证号码',        'type'  => 'text',        'value' => '',        'tip'   => '',        'required'   => true, # 是否必填    ],];  ⑥可选择实现IdcsmartaliPerson方法,个人实名认证。方法名:插件名+Person参数:card_type,证件类型:1身份证、2港澳通行证、3台湾通行证、4港澳居住证、5台湾居住证、6海外护照、7中国以外驾照、8其他;name,姓名;card,身份证号返回:html⑦可选择实现IdcsmartaliCompany方法,企业实名认证。方法名:插件名+Company参数:card_type,证件类型:1身份证、2港澳通行证、3台湾通行证、4港澳居住证、5台湾居住证、6海外护照、7中国以外驾照、8其他;name,姓名;card,身份证号返回:html 3、需要外部访问,在根目录下创建controller目录,添加控制器,处理异步或同步回调; 4、到后台实名认证-接口管理,可以查看接口列表,安装、配置即可使用。 四、示例参考官方实名认证idcsmartali 
业务系统开发文档>图形验证码插件开发文档
一、位置插件放在\public\plugins\captcha\目录下 二、目录结构\plugins\captcha\tp_captcha|--- controller(控制器目录,实现接口)|--- TpCaptcha.php(插件主文件)|--- config.php(配置项客户配置项,在插件设置中显示)|--- route.php(路由文件) 三、开发流程以thinkphp图形验证码为例:1、创建工单插件目录\public\plugins\captcha\tp_captcha\;①目录名以小写字母+下划线形式,必须以字母开头,如tp_captcha; 2、创建入口文件:TpCaptcha.php:①命名空间namespace captcha\tp_captcha(控制器下命名空间对应相应目录即可,其它同理);②以目录名大驼峰+.php,创建在插件根目录下,如tp_captcha\TpCaptcha.php;③文件中需要定义info属性,示例:# 插件基本信息public $info = array(    'name'        => 'TpCaptcha', //插件英文名,作为插件唯一标识,改成你的插件英文就行了    'title'       => 'thinkphp图形验证码', //插件名称    'description' => 'thinkphp图形验证码', //插件描述    'author'      => 智简魔方,  //开发者    'version'     => '1.0',      // 版本号);④必须实现install()安装以及uninstall()卸载方法⑤获取前台验证码,需实现方法:插件名+Describe,如TpCaptchaDescribe(),返回html;⑥获取后台验证码,需实现方法:插件名+DescribeAdmin,如TpCaptchaDescribeAdmin(),返回html;⑦需实现验证方法:插件名+Verify,如TpCaptchaVerigy($param),系统会传递默认参数至此方法,参数为⑨中验证成功后传递给系统js方法captchaCheckSuccsss()。参数:$param = [     “captcha” => ‘test’, // 验证码     “token”   => ‘adfhaksdf’, // 唯一识别码];返回:status:200成功,400失败msg:消息⑧在⑤和⑥中,如果系统未加载js,可设置定时操作;⑨验证成功或失败后可调用系统js:captchaCheckSuccsss(bol,captcha,token,login)参数:bol 是否成功 boolcaptcha 验证码 stringtoken 唯一识别码 stringlogin 后台是否直接登录 bool ⑩取消系统弹框captchaCheckCancel() 3、确定是否需要后台配置文件,如果需要,在接口根目录下加上config.php,示例:<?php/** * @desc 插件后台配置 * @author wyh * @version 1.0 * @time 2022-05-27 */return [    'module_name'            => [    # 在后台插件配置表单中的键名(统一规范:小写+下划线),会是config[module_name]        'title' => '名称',            # 表单的label标题        'type'  => 'text',           # 表单的类型:text文本,password密码,checkbox复选框,select下拉,radio单选,textarea文本区域,tip提示        'value' => 'thinkphp图形验证',     # 表单的默认值        'tip'   => 'friendly name',  # 表单的帮助提示        'size'  => 200,               # 输入框长度(当type类型为text,password,textarea,tip时,可传入此键)    ],    'captcha_width'                 => [        'title' => '验证码宽度',        'type'  => 'text',        'value' => 250,        'tip'   => '',        'size'  => 200,    ],    'captcha_height'                 => [        'title' => '验证码高度',        'type'  => 'text',        'value' => 61,        'tip'   => '',        'size'  => 200,    ],    'captcha_length'                 => [        'title' => '验证码长度',        'type'  => 'text',        'value' => 4,        'tip'   => '',        'size'  => 200,    ],    /*'code_set'   => [        'title' => '验证码字符集',        'type'  => 'text',        'value' => '1234567890',        'tip'   => '',        'size'  => 200,    ],*/]; 4、外部访问:创建插件后台控制器 tp_captcha\controller\IndexController.php①命名空间captcha\tp_captcha\controller;②继承后基类控制器app\home\controller\BaseController;③实现接口,如public function refresh(),系统默认访问此接口的url为:/captcha/tp_captcha/index/refresh;(/captcha/插件/控制器/方法)④自定义路由,创建route.php文件:<?php/** * 插件自定义路由,此文档作为范例,注意不要和系统路由产生冲突 * 说明:官方默认路由需要登录后才能访问,若需要免登录访问,需要自定义路由. * 默认路由,后台:/admin/addon?_plugin=demo_style&_controller=admin_index&_action=addhelp; * 前台:/console/addon?_plugin=demo_style&_controller=admin_index&_action=addhelp * @author wyh * @time 2022-06-02 */use think\facade\Route;# 不需要登录Route::get('country1', 'home/common/countryList'); ⑤跨域设置$origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';Route::get('country4', 'home/common/countryList')    ->allowCrossDomain([        'Access-Control-Allow-Origin'        => $origin,        'Access-Control-Allow-Credentials'   => 'true',        'Access-Control-Max-Age'             => 600,    ]); 四、示例具体可参考public\plugins\captcha\tp_captcha\
业务系统开发文档>邮件接口开发文档
c\plugins\mail\目录下 二、目录结构以智简魔方官方邮件平台接口为例,其主要目录结构如下:\public\plugins\mail\idcsmartmail\|--- Idcsmartmail.php (入口文件)|--- config.php (配置项客户配置项,在插件设置中显示) 三、开发流程以智简魔方官方邮件平台接口为例:1、创建实名认证目录\public\plugins\mail\idcsmartmail\;①目录名以小写字母+下划线形式,必须以字母开头,如idcsmartmail; 2、创建入口文件:Idcsmartmail.php:①命名空间namespace mail\idcsmartmail(控制器下命名空间对应相应目录即可,其它同理);②以目录名大驼峰+.php,创建在短信接口根目录下,如idcsmartmail\Idcsmartmail.php;③文件中需要定义info属性,示例:# 基础信息public $info = array(    'name'        => 'Idcsmartmail',//Demo插件英文名,改成你的插件英文就行了    'title'       => '智简魔方',    'description' => '智简魔方官方邮件平台接口',    'status'      => 1,    'author'      => '智简魔方',    'version'     => '1.0.0',    'help_url'     => 'https://my.idcsmart.com/goods.htm?id=337',//申请接口地址);④必须实现install()安装以及uninstall()卸载方法,没有额外操作,返回true即可;⑤需要实现以下方法方法名称描述参数返回send发送邮件email:邮件地址;subject:邮件主题;content:邮件内容;config:自定义配置;attachments:邮件附件,使用逗号分隔,附件保存位置public/upload/common/email/:示例:['email'=>'1240@qq.com',"subject"=>"测试主题","content"=>"测试内容","attachents"=>"test.png,test1.jpg","config"=>[],];status:状态,success成功,error失败;msg:消息;成功示例:["status"=>"success"];失败示例:["status"=>"error","msg"=>"邮件配置错误"] 3、到后台邮件通知管理,可以查看接口列表,安装、配置即可使用。 四、示例参考智简魔方官方邮件平台接口idcsmartmail 五、附附表1、templateParam参数列表参数名描述类型示例system_website_name系统网站名系统智简魔方system_website_url系统网站地址系统www.idcsmart.comorder_id订单ID订单125order_create_time订单创建时间订单1707094285order_amount订单金额订单1.00product_name产品名称(包括商品名和主机名)产品测试-ser23142123product_marker_name商品名称产品测试product_first_payment_amount产品首付金额产品100.00product_renew_amount产品续费金额产品100.00product_binlly_cycle产品周期产品计费周期免费free,一次onetime,周期先付recurring_prepayment,周期后付recurring_postpaidproduct_active_time产品激活时间产品1707094285product_due_time产品到期时间产品1707094285product_suspend_reason产品暂停原因产品到期暂停renewal_first续费X天后到期第一次提醒产品1renewal_second续费X天后到期第二次提醒产品2client_register_time客户注册时间客户1707094285client_username用户名客户testclient_email邮件客户135460@qq.comclient_phone手机号客户16548765643client_company公司客户智简魔方client_last_login_time最后登录时间客户1707094285client_last_login_ip最后登录ip客户122.32.13.3account账户名客户test  
业务系统开发文档>支付接口开发
c\plugins\gateway\目录下 二、目录结构\public\plugins\gateway\ali_pay_dmf\|--- controller (外部调用)|--- config|--- config.php(支付宝接口配置项,【回调地址,编码格式,签名方式,支付宝网关】)|--- AliPayDmf.php (入口文件)|--- config.php (配置项客户配置项,在插件设置中显示)|--- AliPayDmf.png (支付界面上要显示的图片) 三、开发流程以支付宝当面付为例:1、创建支付宝当面付目录\public\plugins\gateway\ali_pay_dmf\;①目录名以小写字母+下划线形式,必须以字母开头,如ali_pay_dmf; 2、创建入口文件:AliPayDmf.php:①命名空间namespace gateway\ali_pay_dmf(控制器下命名空间对应相应目录即可,其它同理);②以目录名大驼峰+.php,创建在支付接口根目录下,如ali_pay_dmf\AliPayDmf.php;③文件中需要定义info属性,示例:// 插件基础信息public $info = array(    'name'        => 'AliPayDmf', // 必填 插件标识(唯一)    'title'       => '支付宝当面付插件', // 必填 插件显示名称    'description' => '支付宝当面付插件', // 必填 插件功能描述    'author'      => 'idcsmart', // 必填 插件作者    'version'     => '1.0',  // 必填 插件版本    'help_url'    => '', // 选填 申请链接    'author_url'  => '', // 选填 作者链接    'url'         => '', // 选填 图标地址(可以自定义支付图片地址));④定义临时订单生成规则,系统默认规则1:// 临时订单生成规则,1:毫秒时间戳+8位随机数(21-22位长度订单号,默认规则),2:时间戳+8位随机数(18位长度订单号),3:10位随机数(10位长度订单号)public $orderRule=1;⑤必须实现install()安装以及uninstall()卸载方法⑥必须实现入口方法,发起支付:目录名大驼峰+Handle;如public function AliPayDmfHandle($param),参数param(此参数为数组,示例json方便显示):{"out_trade_no":"1660030044500783722161","client":{"id":62,"username":"wyh","company":"智简魔方","address":"少时诵诗书所所所所所所所所所所所所所所所所","country":"中国","phone_code":86,"phone":"12345678910","email":""},"product":["魔方云)"],"global":{"website_name":"智简魔方","website_url":"https:\\test.test.com"},"finance":{"id":1728,"total":"500.00","tmp_order_id":"1660030044500783722161","tmp_order_id2":"166003004463630999","tmp_order_id3":"5075991847"}}参数说明:out_trade_no:临时订单号;client.id:客户ID;client.username:客户姓名;client.company:公司;client.address:地址;client.country:国家;client.phone_code国家区号;client.phone:电话;client.email:邮件;product:商品数组;global.website_name网站名称;global.website_url:网站地址;finance.id:订单号;finance.total:订单金额;finance.tmp_order_id规则1的临时订单号;finance.tmp_order_id2规则2的临时订单号;finance.tmp_order_id3规则3的临时订单号;⑦入口方法(发起支付)返回html即可,系统会将html渲染至支付输出页面; 3、确定是否需要后台配置文件,如果需要,在支付接口根目录下加上config.php,示例:return [    'module_name'            => [    # 在后台插件配置表单中的键名(统一规范:小写+下划线),会是config[module_name]        'title' => '名称',            # 表单的label标题        'type'  => 'text',           # 表单的类型:text文本,password密码,checkbox复选框,select下拉,radio单选,textarea文本区域,tip提示        'value' => '支付宝当面付',     # 表单的默认值        'tip'   => 'friendly name',  # 表单的帮助提示        'size'  => 200,               # 输入框长度(当type类型为text,password,textarea,tip时,可传入此键)    ],    'app_id'                 => [        'title' => 'appID',        'type'  => 'text',        'value' => '',        'tip'   => '',        'size'  => 200,    ],    'merchant_private_key'   => [        'title' => '商户私钥',        'type'  => 'text',        'value' => '',        'tip'   => '',        'size'  => 200,    ],    'alipay_public_key'      => [        'title' => '支付宝公钥',        'type'  => 'text',        'value' => '',        'tip'   => '',        'size'  => 200,    ],    # 此配置作为范例    'mode'                   => [        'title'      => '模式',        'type'       => 'radio',        'options'    => [            # 当type类型为checkbox,select,radio时,需要有此键,作为选项            'debug'  => '调试',            'online' => '上线',        ],        'value'      => 'online',        'tip'        => '请选择模式',        'attribute'  => 'disabled',  # 属性,加入此键:disabeld表示禁止编辑,只能看;    ],]; 4、需要外部访问,在根目录下创建controller目录,添加控制器,处理异步或同步回调;①创建自定义控制器,如controller/IndexController.php;②自定义异步回调方法,如notifyHandle(),则异步回调地址为:网站地址/gateway/ali_pay_dmf/index/notifyHandle;③在②的方法中处理支付回调逻辑,进行订单等的验证;④支付成功调系统订单处理方法order_pay_handle($param),传入数组参数:$param = [     ‘tmp_order_id’ => 123456, // 临时订单ID     ‘amount’ => 1.00, // 支付金额     ‘trans_id’ => 22483701327490139472, // 交易流水ID     ‘currency’ => ‘CNY’, // 货币代码     ‘paid_time’ => ‘2022-08-09 15:52:19’, // 时间,注意必须是此标准格式     ‘gateway’ => ‘AliPayDmf’, // 支付接口标识]; 5、到后台支付接口管理界面刷新就会看到新添加的支付接口,安装、配置即可使用。 四、示例参考支付宝当面付ali_pay_dmf 
业务系统使用文档>12、应用管理>支付接口>GoAllPay微信
chant id(商户 ID)需要注册好之后,由 GoAllPay 分配密钥为双方约定的签名密钥 Key(接入 GoAllPay 时分配)
业务系统使用文档>12、应用管理>支付接口>GoAllPay银联
chant id(商户 ID)需要注册好之后,由 GoAllPay 分配密钥为双方约定的签名密钥 Key(接入 GoAllPay 时分配)1. 将所有传入参数(除 signature 参数外)按照参数名的 ASCII 码从小到大排序后(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2...)拼接成字符串 string1。2. 在 string1 最后直接拼接(不需要用“&”连接)双方约定的签名密钥 Key(接入 GoAllPay 时分配),得到 stringSignTemp 字符串,并对 stringSignTemp 进行加密运算(加密算法以参数signType值为准),得到 signature 的值。3. 签名示例:string1: OsType=IOS&OsVersion=&acqID=99020344&backURL=https://testapi.allpayx.com/test&charSet=UTF-8&detailInfo=W3siZ29vZHNfbmFtZSI6ICJhcHBsZSIsICJxdWFudGl0eSI6ICIyIn1d&frontURL=http://example.com&goodsInfo=apple&logisticsStreet=上海市浦东新区xx路xx号xxx室&merID=merchant_id&merReserve=&orderAmount=1&orderCurrency=CNY&orderNum=20220620171733&paymentSchema=UP&signType=SHA256&tradeFrom=H5&transTime=20220620171733&transType=PURC&userID=user01&userIP=114.91.1.243&version=VER000000005stringSignTemp: OsType=IOS&OsVersion=&acqID=99020344&backURL=https://testapi.allpayx.com/test&charSet=UTF-8&detailInfo=W3siZ29vZHNfbmFtZSI6ICJhcHBsZSIsICJxdWFudGl0eSI6ICIyIn1d&frontURL=http://example.com&goodsInfo=apple&logisticsStreet=上海市浦东新区xx路xx号xxx室&merID=merchant_id&merReserve=&orderAmount=1&orderCurrency=CNY&orderNum=20220620171733&paymentSchema=UP&signType=SHA256&tradeFrom=H5&transTime=20220620171733&transType=PURC&userID=user01&userIP=114.91.1.243&version=VER000000005keysignature: 40f1e5adebba58cc7822dac0b3a2bfebb6676e245370be027cdfb952695bee2912345678以上示例中,stringsigntemp 中的最后的 key 就是密钥 最后的货币单位请自行填写HKD或USD等 更加详细的信息可以查看 API 文档:GoAllPay 在线支付接入规范文档 V5.2.3
业务系统使用文档>12、应用管理>支付接口>OCGC支付
OCGC支付1.使用前置:业务系统--->应用--->插件列表--->下载OCGC支付应用下载方式与支付宝网页支付插件相同,支付宝网页支付安装2.使用配置:注:在使用本服务之前,请先前往OCGC官方平台,进行签约并创建应用,获取密钥信息,以保证后续流程中可正确对网站与用户进行验证与授权
业务系统使用文档>12、应用管理>支付接口>PayPal支付
ClienID 和 ClientSecret 的获取可以参考一下该申请教程
业务系统使用文档>12、应用管理>支付接口>Stripe聚合支付
com/login注册或者登录帐号左侧导航开发者获取API密钥(pk开头的为clientSecret,sk开头的为ApiKey)左侧导航Webhook,然后创建或者更新端点为上面WebHook里的地址(上面是我们的测试网站域名,请根据实际情况填写自己的域名)准备好之后请检查 Stripe 的事件是否齐全,包括以下事件checkout.session.completed配置好之后就可以使用 Stripe 进行支付了(这里以支付宝为例,给还可以添加其他支付方式)。如果有其他问题可以查询帮助手册