JCB卡是来源于日本的世界通用的信用卡,虽然没贝宝那样知名,但是在日本还是很流行的,貌似贝宝不支持JCB支付,所以只能用支付宝了
1、wordpress,woocommerce这些东西你先安装了在说,没有安装的去安装。
2、去wordpress的插件中心安装Alipay for woocommerce插件,我们要添加的这个JCB支付方式要修改这个插件
3、去后台启用这个插件,并且在网关中开启支付方式
以上都做了的话,打开wp根目录下的wp-content\plugins\alipay-for-woocommerce目录
lib目录:支付宝控件的核心代码,我看了一下都是从支付宝的demo中copy过来的,支付宝支付接口demo
lang目录:语言包,要增加后台其他语言的支持话,修改这个目录里的文件,默认是中文
images:不用说了只有一张图片
alipay for woocommerce是通过插件的形式开发的,关于这个插件中主要文件class-wc-alipay.php文件的内容信息可以参考这篇文章WooCommerce如何扩展支付方式
接下来我们要做的就是在这个文件中修改添加JCB支付方式
在这里添加了 'jcb' => __('JCB Payment','alipay'),别忘了上面一行最后添加一个逗号,如上图
你就可以在后台的支付宝插件中的支付方式可以选择JCB Payment的方式了
虽然添加了选择,但是后台不知道要如何做
接下来 要参照支付宝外卡支付的技术文档了,外卡支付接口
对比一下支付宝的及时到账接口和JCB外卡支付接口不同点,在JCB外卡支付接口中service的值始终为alipay.trade.direct.forcard.pay
如上图 在最后添加$service = '
alipay.trade.dir
ect.forcard.pay
alipay.trade.direct.forcard.pay';
在JCB中有一个参数default_bank 这个参数根据文档所述,为默认的支付的银行,并且有3个可选项 boc-visa 外卡-visa boc-master 外卡-mastercard boc-jcb 外卡-jcb
那么这样一样 同样也可以为这个插件添加其他2种支付方式 visa卡 和mastercard卡支付了
如上图 最后添加了外卡支付的参数
注意:这里普通支付有一个参数payment_type 我在请求参数列表中没有找到 但是在同步返回参数中有,不知道是什么原因
alipay for woocommerce 插件中这个参数始终为1 在这里我暂时不修改它 假如接口有问题 请修改它
这是额外的参数,请根据自己的业务逻辑来修改
这是支付宝对服务器发送同步请求时做的响应
这是异步请求响应做的操作
在684行 添加 || $this->payment_method == 'jcb'
好了,可以去后台设置为jcb支付的方式进行尝试了,由于我没有支付宝的商户帐号,所以没办法测试以上修改有没有问题,假如有问题请给我留言