Skip to main content
POST
/
api
/
mapi
/
v1
/
merchant
/
open
/
api
/
file
/
upload
文件上传
curl --request POST \
  --url https://mpgwpre.payallglobal.com/mp-gateway/api/mapi/v1/merchant/open/api/file/upload \
  --header 'Content-Type: multipart/form-data' \
  --header 'signature: <api-key>' \
  --form 'fileMd5=<string>' \
  --form 'fileType=<string>' \
  --form 'file=<string>'

Authorizations

signature
string
header
required

加签

加签是开放平台和商户对于交互消息完整性的校验。加签行为主要发生两个部分:

  1. 商户服务器端针对向PayAllGlobal开放平台发送的请求报文进行加签;
  2. PayAllGlobal开放平台针对通知商户的异步消息进行加签。 PayAllGlobal平台要求使用 RSA 私钥进行加签, 使用 RSA 公钥进行验签。 因此,在以上两部分描述的交互中, 存在商户公私钥、PayAllGlobal 公私钥,开发者需要使用商户私钥,对第一部分报文进行加签,使用 PayAllGlobal 公钥对第二部分消息进行验签。

加签规则如下:

  1. 使用 商户私钥对待 request.body 进行签名(SHA256WithRSA 计算原始数据的SHA-256哈希值。 使用私钥对哈希值进行签名,即使用私钥对哈希值进行RSA加密。此时得到的加密结果就是数字签名。);
Signature signature = Signature.getInstance("SHA256withRSA");
signature.initSign(privateKey);
// 计算 SHA256withRSA 签名时,需要以 utf-8 的编码转换 byte 流,否则可能导致含中文参数的签名计算不正确
signature.update(request.body);
byte[] signedHash = signature.sign();
  1. 将加签内容进行 Base64 编码;
String signature = Base64.getEncoder().encodeToString(signedHash);
  1. 将编码后的内容放在请求头部 signature 参数中。 注意,加签是对 request.body 进行签名,当查询等 request.body 为空时,则无需加签。

Query Parameters

charset
string
required

字符编码

merchantId
string
required

商户号

requestTime
string
required

请求时间

signType
string
required

签名类型

transType
string
required

交易类型

version
string
required

版本

fileMd5
string
fileType
enum<string>
required
Available options:
SUBMERCHANT_REGISTRATION_00,
SUBMERCHANT_REGISTRATION_01,
SUBMERCHANT_REGISTRATION_02,
SUBMERCHANT_REGISTRATION_03

Body

multipart/form-data
fileMd5
string
fileType
string
file
string