商户接入指南 商户接入指南
  • V2
  • V3 (opens new window)
  • V2
  • V3 (opens new window)
  • 接入指南

    • 起步
    • 名词约定
    • 对接流程(必读)
    • 签名规约
    • 服务端接入流程
    • 3D集成指南V1(From提交)
    • 3D集成指南V2(风控插件)
  • 接入方案

    • 收银台模式

      • 内嵌JS-SDK
      • 跳转接入
    • 端到端模式

      • 快速开始
      • 商户收银台规范
    • 交易处理方案

      • 处理交易状态
      • 交易数据处理方案
      • 交易状态处理方案
      • 自动续费场景处理方案
    • 开源建站工具插件支持

      • Magento235
      • Woocommerce
      • OpenCart
      • Prestashop
      • ZenCart
  • APIs

    • 交易下单

      • 收银台模式
        • 端到端模式
        • 退款和预授权
        • 修改交易信息
      • 交易查询

      • 快捷支付

      • 拒付查询

      • 物流信息

      • 交易账单

      • 币种汇率

      • 商户信息

    • 附录

    • v2

    收银台模式

    # 收银台模式

    # 请求地址



    https://{host}/v2/checkout
    
    1

    # 请求参数



    # 请求参数签名


    注意 : 当前接口为部分加签,仅在下面列表中的参数参与签名

    # 加签参数列表

    参数名 描述
    accId PingPong商户店铺号
    amount 交易金额
    currency 交易币种
    transactionId PingPong交易流水号
    merchantTransactionId 商户交易流水号
    signType 加签类型

    # 获取签名参数列表

    1. 准备一个ArrayList 加签参数列表

    2. 遍历收到的请求参数列表。

    3. 每次循环都比较请求参数的参数名是否在加签参数列表

    4. 在加签参数列表的参数加入新的签名参数列表

    # PHP伪代码示例:


    <?php
    
    $request = isPingPongPay($requestParams);
    
    if(empty($request)){
        throw new Error("验签失败");
    }
    
    $needSign = [];
    
    $scope = [
        "clientId",
        "accId",
        "amount",
        "currency",
        "cardNum",
        "transactionId",
        "merchantTransactionId",
        "requestId",
        "signType",
    ]
    
    foreach($request as $key=>$value){
        if(in_array($key,$scope)){
          $needSign[$key] = $value;   
        }    
     // then if not empty $needSign  you will to Generate signature string  
     
    }
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30

    # 签名串的生成

    1. 待签名参数列表按照字典序排序

    2. 将排序后的待签名参数列表转成url查询字符串(用'=' 进行参数名和参数值(trim 后的值)的拼接,用'&'进行多 个参数之间的拼接,即 key1=val1&key2=val2&key3=val。)

    3.拼接签名密钥(secret): 签名密钥放入签名串的位置为签名串的开头,即{salt}key1=val2&key2=val2&key3=val3

    1. 签名串进行MD5运算后所有字符串转成大写,即可获得正确的签名

    # 重要入参说明


    注意 :

    1. merchantTransactionId 应是全局唯一,不可重复

    2. requestId 应是全局唯一,不可重复

    3. amount 精确到两位小数,没有小数部分的补零。(如 25.12 或 20.00)

    4. paymentType 一般为SALE 如果要对接AUTH请在对接过程告知,并在测试报告中声明,一定通过验收后才能上线,以免发生交易问题

    5. 在收银台模式下 device browserInfo 可以通过JS-SDK自动抓取,可以不传

    6. shipping billing goods 不能为空 eCommerce airline reCharge carRental 根据行业情况填写,这些参数影响交易成功率,请详实填写。

    7. shipping billing state 美国加拿大地区必须填写二字简码,有些地区没有state,可以填写空字符串。

    8. merchantUserId 必须全局唯一 没登录或者获取不到的情况请传空字符串。



    # 响应参数

    参数字段 参数属性 参数说明
    clientId M PingPong 商户商户号
    accId M PingPong 商户店铺编号
    merchantTransactionId M 商户网站的的交易流水号
    code M 结果状态码
    description M 结果描述
    token M 收银台模式下,本次结账请求的唯一标示
    paymentUrl M PingPong 支付收银台地址
    innerJsUrl M PingPong 内嵌 JS 文件内容地址
    signType M 签名规约,支持 MD5、SHA256,具体⻅本文“签名规约” 一栏
    sign M 签名内容,具体⻅本文“签名规约”一栏
    remark O 商户扩展字段
    paymentHtml O 预留字段

    上次更新: 2022/05/30, 17:59:57
    ZenCart
    端到端模式

    ← ZenCart 端到端模式→

    杭州乒乓智能技术有限公司 | Copyright © 2015-2024 All rights reserved. pay.pingpongx.com
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式