zoukankan      html  css  js  c++  java
  • 统一支付接口设计

    1、接口说明

    支付接口用于后台根据自己逻辑的单号生成签名用于调起第三方。

    2、接口地址

    xxx/v1/pay

    3、接口格式

    上行:Key & Value

    下行:JSON

    4、协议

    HTTP/POST

    5、输入参数

    参数名

    类型

    是否必填

    备注

    token

    String


    appId

    string

    设备唯一标识

    appVersion

    string

    APP版本

    imei

    string

    手机串码

    phoneModel

    string

    手机型号

    timestamp

    string

    时间戳

    orderId

     string

    对应业务的单号

    orderType

    int

    业务类型(1、 普通行程订单 2、企业行程订单  3.xxx

       4.小程序行程订单   40:钱包充值订单)

    payment

    int

    支付方式(0免单支付,1支付宝(项目app),2微信(项目app) 3(企业支付) 4.余额支付 5银联支付...   )201:公众号/小程序 

    openId

    String特殊是当payment=
    201
     公众号/小程序支付时 必须传入 OpenID    当payment=421 同理

    appCode

    String特殊是当payment=201 公众号/小程序支付时     项目xx端小程序 :"12021"   当payment=421 同理

    PS.已规划appCode    10010(零元) 11010(支付宝APP) 12020(微信APP)12021(xx小程序)12022(XX公众号微信原生扫码) 12023(XX公众号微信H5) 13010(企业) 14010(余额支付)   14011(余额支付-余额自动支付)  

    6、请求示例


    orderId=133&orderType=1&payment=1


    7、输出参数

    参数名

    类型

    是否必填

    备注

    code

    Integer

    状态码

    msg

    String

    返回消息

    data

    Object

    返回数据


    Object内容(支付宝)

     说明:因为此接口返回的是第三方要求的需要可以被调起的签名格式,故Object内容为一个经过加密的字符串。移动端拿到数据调用即可

    Object内容(微信) 

    参数名

    类型

    是否必填

    备注

    app_id

    String

    微信开放平台审核通过的应用APPID

    partnerid 

    String

    微信支付分配的商户号

    prepayid

    String

    微信返回的支付交易会话ID

    package 

    String

    暂填写固定值Sign=WXPay

    noncestr 

    String

    随机字符串,不长于32位。

    timestamp 

    String

    时间戳

    sign 

    String

    签名


     

    支付宝

    {

          "data": “

    alipay_sdk=alipay-sdk-java-3.1.0
    &app_id=xxx
    &biz_content=%7B%22xxx_amount%22%3A%220.01%22%7D
    &charset=UTF-8
    &format=json
    &method=alipay.trade.app.pay
    &notify_url=xxxpayAliCallback
    &return_url=xxxFreturn
    &sign=cyu9MIAJGjGZ7yQKo7Lvu4C8cVCm%2BOeME%2B9A%2B%2BYkabZiBMguCPhtzQliruUaE5yyWhbNBtIqwT%2Bb4vIWzhb%2FlEiFcovcsKYbe46lDo9ihy%2Fb%2FTMBX%x'x'x%2BkhIcykHpfjfZLrWjdD7flsPRIotoBq%xxx%2F6vBQPC%2Fv8feQBlmFEfgoLLX8IBnFd5G%2F6n0GIwfVjOArSQ58izGuNjjXHHdtTbbiOD2oJMfAomUlCCwIOBYEvexgO4qOWKOFqcGOwnu594a4tG7vnCtOuTTwA%3D%3D
    &sign_type=RSA2
    &timestamp=2018-07-11+11%3A34%3A00
    &version=1.0"

    }

    微信

    {

     "code":0,

      "data": {

           "package":"Sign=WXPay",

           "appid":"xxx",

           "partnerid":"xxx",

           "prepayid":"wx20180711174645947779",

           "noncestr":"gSBpmOpKk8mhvdGTZaie",

           "timestamp":"1531302402"

           "sign":"EE8707786C6D008E48608291E971A920",

          }

    }



    小程序支付结果:

    {

     "code":0,

      "data": {

            "appId":"xxxx",

            "timeStamp":"Sign=WXPay",

            "nonceStr":"wx1930ad04c1e714a8",

            "package":"prepay_id=xxxxxx",

            "signType":"MD5",

            "paySign":"EE8707786C6D008E48608291E971A920",

          }

    }


    企业支付

    {

          "code":0,

          "msg": "支付成功!"

    }



    9、状态码

    态码
    msg
    200支付成功
    xxx1
    订单已支付
    xxx2
    订单已关闭
    xxx3
    校验订单信息失败(未到支付状态/未查询到订单)
    xxx4
    支付渠道错误
    xxx5
    MQ广播通知错误
    xxx6
    操作失败



  • 相关阅读:
    router-link中传值的三种方式
    JVM原理和优化
    JAVA中关于锁机制
    思考程序
    论防御式编程与攻击式编程
    BOM详解
    理解JAVASCRIPT 闭包
    用HTML5 CANVAS做自定义路径的动态效果图片!
    js制作点击会自动隐藏的导航栏(固定在在头部的)
    ++a和a++的区别。
  • 原文地址:https://www.cnblogs.com/xmanblue/p/10956991.html
Copyright © 2011-2022 走看看