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支付的方式进行尝试了,由于我没有支付宝的商户帐号,所以没办法测试以上修改有没有问题,假如有问题请给我留言