Java教程

【支付】支付通道对接总结

本文主要是介绍【支付】支付通道对接总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言  

  写这篇随笔的目的主要是为了记录近期对接多家支付通道,在这过程中的经验,总结和教训

 

加签和验签

  常见的加签/验签方式

  目前对接的支付通道提供API接口,保证接口安全的方式不尽相同,参数加签和验签的方式也有区别

    例如:针对统一下单接口,下面例举出常见的通道使用的加签方式

    原生微信支付: 提供MD5,SHA256两种加签方式

    原生支付宝支付:提供RSA,RSA2两种加签方式

    银盛支付通道:提供RSA加签方式

    酷点支付通道:提供MD5加签方式

    等等

  加签/验签注意事项

    1.sign字段,通常不参与签名

    2.字段值为空,通常该字段不参与签名

    3.待签名的内容,通常要对签名内容进行ASCII排序

     排序tips,可以先对获取签名内容Map中的所有Key值,将Key值存放到List集合中,使用API如下进行排序

    Collections.sort(keys);

    4.商户私钥证书或商户私钥字符串,商户私钥证书通常时商户自己生成或购买,具有时效性,商户私钥证书自己保留,商户公钥证书存放在支付通道后台,

      商户可以通过私钥证书和证书密钥获取对应的私钥字符串

      如果使用私钥证书加签,则可以把私钥证书缓存到本地,避免每次都要从磁盘读取证书带来的时间损耗

    5.支付通道平台公钥证书,支付通道平台通常会提供给商户公钥证书或公钥字符串,用于验签

    6.验签异常:

       Q:got 128 but was expecting 256

       A:   通常是在验签时,公钥证书的类型错误 ,参考:https://opendocs.alipay.com/support/01ravz

    7.RSA的私钥格式PKCS1与PKCS8,Java只能用PKCS8格式的私钥

    

 

  

  

  

这篇关于【支付】支付通道对接总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!