商户提交表单接口名称错误 API开发文档

发布时间:2021-01-11 21:00:27   来源:网络 关键词:商户提交表单接口名称错误

商户提交表单接口名称错误


# API开发文档

## 1. 开发文档简介

本文阅读对象:使用【支付系统】的商户自服务系统的技术架构师、研发工程师、系统运维工程师。通过本文档,商户可了解【支付系统】接入的技术、接入的产品业务、接入的流程、接入规范等信息,以便于商户顺利完成接入工作。

## 2. 签名算法

为了保证交易双方(商户和平台)的身份和数据安全,开发者在调用接口前,需要配置双方密钥,对交易数据进行双方校验。密钥包含商户应用私钥(APP_PRIVATE_KEY)和商户应用公钥(APP_PUBLIC_KEY)。生成密钥后,开发者需要在商户后台获取平台公钥(PLATFORM_PUBLIC_KEY)应用在代码中,对请求内容进行签名。

【注】平台的签名方案与支付宝的签名方案一样,采用RSA2签名算法(RSA与RSA2签名算法的区别,可参考:[https://docs.open.alipay.com/291/106115/](https://docs.open.alipay.com/291/106115/)),在对参数进行签名和异步回调的验签时,可直接使用支付宝提供的SDK进行签名和验签。

签名时字符集使用UTF-8,签名方式使用RSA2。

## 2.1. 生成密钥

在商户后台【API管理】【API开发文档】中,点击【生成秘钥】,获取【商户公钥】和【商户私钥】

生成密钥对之后,请商户保存好【平台公钥】和【商户私钥】。若商户忘记秘钥或者由于某种原因导致私钥泄漏,请重新生成密钥。平台不会保存商户的私钥,仅在生成时展示一次,请妥善保存

【商户私钥】用于生成请求签名

【平台公钥】用于对平台的异步回调的验签

## 2.2. SDK

推荐使用支付宝SDK进行签名和验签,

支付宝的SDK的下载地址:[https://docs.open.alipay.com/54/103419/](https://docs.open.alipay.com/54/103419/)

## 2.3. 生成请求签名

**Java版本的加签方法**

生成签名方(通常为商户)首先对需要参与签名的参数放入一个字符串数组 signFields,把参数和值放入一个对象或 map 中,使用 JSONObject 把这个对象转化成 json 对象。然后构建签名原文,在构建签名原文时,我们需把参数按照字典(比如a,b,c)顺序排序,具体排序方法直接调用 JAVA 的 Arrays.sort 方法。 然后使用 RSA 的私钥对签名原文进行签名。

```

/**

@param content 待签名字符串

@param privateKey 加签私钥

@param charset 加签字符集,使用 UTF-8

@param sign_type 签名方式,使用 RSA2

**/

String AlipaySignature.rsaSign(String content, String privateKey, String charset, String sign_type)

```

**PHP版本的加签方法**

生成签名方(通常为商户)首先对需要参与签名的参数放入数组中,调用支付宝提供的AopClient的rsaSign方法

```

$aop = new AopClient();

$aop->postCharset = "UTF-8";

$aop->alipayrsaPublicKey = $serverPublicKey; // 平台公钥

$aop->rsaPrivateKey = $clientPrivateKey; // 商户私钥

// 私钥加签

$sign = $aop->rsaSign($params, "RSA2");

```

2.4. 验证通知中的签名

**Java版本的验签方法:**

验签方(商户)和生产签名方一样先生成签名原文,然后使用 RSA 的公钥(平台公钥)生成签名方传入的签名,把签名原文对生成签名方传入的签名进行验证,验证结果为 true 则说明验证成功,否则未通过。

```

/** rsaCheckV1 此方法会去掉sign_type做验签

@param params 参数列表(包括待验签参数和签名值sign) key-参数名称 value-参数值

@param publicKey 验签公钥

@param charset 验签字符集,使用 UTF-8

@param sign_type 验签方式,使用 RSA2

**/

boolean AlipaySignature.rsaCheckV1(Map<String, String> params, String publicKey, String charset, String sign_type)

```

**PHP版本的验签方法:**

```

$aop = new AopClient();

$aop->alipayrsaPublicKey = $serverPublicKey; // 平台公钥

$verify = $serverAop->rsaCheckV1($params, "", "RSA2");

```

## 3. 请求支付接口

**简要描述:** 发起付款接口(必用接口) 

**跳转支付页接口URL:**

- 请求方式:POST

- 请求地址:https://www.shenzhou988.com/pay/order/cashier.do

- 使用方法:用表单post的方式,post参数并跳转到此网址,显示我们的支付页。

参数:

参数名 | 必选 | 类型 | 参与签名 | 说明 | 示例值

---|---|---|---|---|---|---|---|---|---|---

memberid|是|string|是|商户商户号|1910123456

appid|是|string|是|商户APPID|20191019080908

bankcode|是|string|是|支付渠道编码|103

orderid|是|string|是|商户生成的订单号|C2019101908105340685

applydate|是|string|是|订单创建时间,时间格式: 2019-10-26 18:18:18|2019-10-01 18:18:18

amount|是|float|是|交易金额,单位:元精确小数点后2位|10.00

notify_url|是|string|是|异步通知地址|http://xx.com/

return_url|是|string|是|支付成功后网页自动跳转地址http://xx.com/|

productname|是|string|否|商品名称|VIVO手机膜

sign|是|string|否|签名结果

attach|否|string|否|用户附加数据|

> 注:

>1. 支付渠道编码,请登录商户中心,API管理通道费率中,查看支付渠道对应的渠道编码;

>2. 商户生成的订单号,可为字母、数字的组合,订单号不可重复,字符长度不可超过20

>3. 用户附加数据,当商户传此数据时,异步通知时会原样返回

## 四、支付成功的回调信息

**简要描述:**

回调参数说明 

请求方式:POST

返回参数:

header 1 | header 2

---|---

row 1 col 1 | row 1 col 2

row 2 col 1 | row 2 col 2

参数名 | 必选 | 参与签名 | 类型 | 说明

---|---|---|---|---

memberid|是|是|string|商户ID

appid|是|是|string|商户APPID

bankcode|是|是|string|支付渠道编码

amount|是|是|string|订单金额

amount_true|是|是|string|订单实付金额

sys_orderid|是|是|string|系统交易单号

orderid|是|是|string|商户订单号

datetime|是|是|string|YmdHis格式,例:20191020181818

status|是|是|float|SUCCESS 成功, FAILURE 失败

sign|是|否|string|RSA签名,使用平台公钥验签

attach|否|否|string|若商户提交订单时有传,则会原样返回

**回调参数示例**

```

{

    "memberid":'10001',

    "appid": '2019109121323254555',

    "bankcode": '103',

    "amount" : '100.00',

    "amount_true" : '99.99',

    "orderid" : 'C0000000000123',

    "sys_orderid" : '20191090934823055834',

    "datetime": '20191020181818',

    "status" : 'SUCCESS',

    "sign" : 'xxxxxxxxxxxxxxxxxxxxxx',

}

```

接收回调成功,必须返回 'success' 字符串,否则回调不成功

```

<?php

//返回成功的信息

echo 'success';

```



大咖股票行情网
副业咨询网
猜你喜欢