商户注册
curl --request POST \
--url https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration \
--header 'Content-Type: application/json' \
--header 'signature: <api-key>' \
--data '
{
"charset": "UTF-8",
"version": "2.0.0",
"transType": "PAY",
"accessType": "s2s",
"signType": "RSA",
"memberId": "2023010558663764",
"merchantId": "2023010558663764",
"address": "<string>",
"agreementFile": "<string>",
"business": {
"appDownload": "<string>",
"businessType": "<string>",
"mcc": "<string>",
"miniProgram": "<string>",
"officeAccount": "<string>",
"storeAddress": "<string>",
"storePhotos": "<string>",
"website": "<string>"
},
"businessAddress": "<string>",
"businessPic": "<string>",
"certNo": "<string>",
"contact": {
"email": 123,
"name": "<string>",
"phone": 123
},
"countryCode": 123,
"director": {
"name": "<string>",
"number": 123,
"type": "<string>"
},
"merchantType": "<string>",
"phoneNo": "<string>",
"principal": {
"name": "<string>",
"number": 123,
"type": "<string>"
},
"registrationDate": "<string>",
"registrationPic": "<string>",
"shareholder": [
{
"name": "<string>",
"number": 123,
"type": "<string>"
}
],
"subMcc": "<string>",
"subMerchantId": 123,
"subMerchantName": "<string>",
"subMerchantShort": "<string>"
}
'import requests
url = "https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration"
payload = {
"charset": "UTF-8",
"version": "2.0.0",
"transType": "PAY",
"accessType": "s2s",
"signType": "RSA",
"memberId": "2023010558663764",
"merchantId": "2023010558663764",
"address": "<string>",
"agreementFile": "<string>",
"business": {
"appDownload": "<string>",
"businessType": "<string>",
"mcc": "<string>",
"miniProgram": "<string>",
"officeAccount": "<string>",
"storeAddress": "<string>",
"storePhotos": "<string>",
"website": "<string>"
},
"businessAddress": "<string>",
"businessPic": "<string>",
"certNo": "<string>",
"contact": {
"email": 123,
"name": "<string>",
"phone": 123
},
"countryCode": 123,
"director": {
"name": "<string>",
"number": 123,
"type": "<string>"
},
"merchantType": "<string>",
"phoneNo": "<string>",
"principal": {
"name": "<string>",
"number": 123,
"type": "<string>"
},
"registrationDate": "<string>",
"registrationPic": "<string>",
"shareholder": [
{
"name": "<string>",
"number": 123,
"type": "<string>"
}
],
"subMcc": "<string>",
"subMerchantId": 123,
"subMerchantName": "<string>",
"subMerchantShort": "<string>"
}
headers = {
"signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {signature: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
charset: 'UTF-8',
version: '2.0.0',
transType: 'PAY',
accessType: 's2s',
signType: 'RSA',
memberId: '2023010558663764',
merchantId: '2023010558663764',
address: '<string>',
agreementFile: '<string>',
business: {
appDownload: '<string>',
businessType: '<string>',
mcc: '<string>',
miniProgram: '<string>',
officeAccount: '<string>',
storeAddress: '<string>',
storePhotos: '<string>',
website: '<string>'
},
businessAddress: '<string>',
businessPic: '<string>',
certNo: '<string>',
contact: {email: 123, name: '<string>', phone: 123},
countryCode: 123,
director: {name: '<string>', number: 123, type: '<string>'},
merchantType: '<string>',
phoneNo: '<string>',
principal: {name: '<string>', number: 123, type: '<string>'},
registrationDate: '<string>',
registrationPic: '<string>',
shareholder: [{name: '<string>', number: 123, type: '<string>'}],
subMcc: '<string>',
subMerchantId: 123,
subMerchantName: '<string>',
subMerchantShort: '<string>'
})
};
fetch('https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'charset' => 'UTF-8',
'version' => '2.0.0',
'transType' => 'PAY',
'accessType' => 's2s',
'signType' => 'RSA',
'memberId' => '2023010558663764',
'merchantId' => '2023010558663764',
'address' => '<string>',
'agreementFile' => '<string>',
'business' => [
'appDownload' => '<string>',
'businessType' => '<string>',
'mcc' => '<string>',
'miniProgram' => '<string>',
'officeAccount' => '<string>',
'storeAddress' => '<string>',
'storePhotos' => '<string>',
'website' => '<string>'
],
'businessAddress' => '<string>',
'businessPic' => '<string>',
'certNo' => '<string>',
'contact' => [
'email' => 123,
'name' => '<string>',
'phone' => 123
],
'countryCode' => 123,
'director' => [
'name' => '<string>',
'number' => 123,
'type' => '<string>'
],
'merchantType' => '<string>',
'phoneNo' => '<string>',
'principal' => [
'name' => '<string>',
'number' => 123,
'type' => '<string>'
],
'registrationDate' => '<string>',
'registrationPic' => '<string>',
'shareholder' => [
[
'name' => '<string>',
'number' => 123,
'type' => '<string>'
]
],
'subMcc' => '<string>',
'subMerchantId' => 123,
'subMerchantName' => '<string>',
'subMerchantShort' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"signature: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration"
payload := strings.NewReader("{\n \"charset\": \"UTF-8\",\n \"version\": \"2.0.0\",\n \"transType\": \"PAY\",\n \"accessType\": \"s2s\",\n \"signType\": \"RSA\",\n \"memberId\": \"2023010558663764\",\n \"merchantId\": \"2023010558663764\",\n \"address\": \"<string>\",\n \"agreementFile\": \"<string>\",\n \"business\": {\n \"appDownload\": \"<string>\",\n \"businessType\": \"<string>\",\n \"mcc\": \"<string>\",\n \"miniProgram\": \"<string>\",\n \"officeAccount\": \"<string>\",\n \"storeAddress\": \"<string>\",\n \"storePhotos\": \"<string>\",\n \"website\": \"<string>\"\n },\n \"businessAddress\": \"<string>\",\n \"businessPic\": \"<string>\",\n \"certNo\": \"<string>\",\n \"contact\": {\n \"email\": 123,\n \"name\": \"<string>\",\n \"phone\": 123\n },\n \"countryCode\": 123,\n \"director\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"merchantType\": \"<string>\",\n \"phoneNo\": \"<string>\",\n \"principal\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"registrationDate\": \"<string>\",\n \"registrationPic\": \"<string>\",\n \"shareholder\": [\n {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n }\n ],\n \"subMcc\": \"<string>\",\n \"subMerchantId\": 123,\n \"subMerchantName\": \"<string>\",\n \"subMerchantShort\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("signature", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration")
.header("signature", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"charset\": \"UTF-8\",\n \"version\": \"2.0.0\",\n \"transType\": \"PAY\",\n \"accessType\": \"s2s\",\n \"signType\": \"RSA\",\n \"memberId\": \"2023010558663764\",\n \"merchantId\": \"2023010558663764\",\n \"address\": \"<string>\",\n \"agreementFile\": \"<string>\",\n \"business\": {\n \"appDownload\": \"<string>\",\n \"businessType\": \"<string>\",\n \"mcc\": \"<string>\",\n \"miniProgram\": \"<string>\",\n \"officeAccount\": \"<string>\",\n \"storeAddress\": \"<string>\",\n \"storePhotos\": \"<string>\",\n \"website\": \"<string>\"\n },\n \"businessAddress\": \"<string>\",\n \"businessPic\": \"<string>\",\n \"certNo\": \"<string>\",\n \"contact\": {\n \"email\": 123,\n \"name\": \"<string>\",\n \"phone\": 123\n },\n \"countryCode\": 123,\n \"director\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"merchantType\": \"<string>\",\n \"phoneNo\": \"<string>\",\n \"principal\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"registrationDate\": \"<string>\",\n \"registrationPic\": \"<string>\",\n \"shareholder\": [\n {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n }\n ],\n \"subMcc\": \"<string>\",\n \"subMerchantId\": 123,\n \"subMerchantName\": \"<string>\",\n \"subMerchantShort\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["signature"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"charset\": \"UTF-8\",\n \"version\": \"2.0.0\",\n \"transType\": \"PAY\",\n \"accessType\": \"s2s\",\n \"signType\": \"RSA\",\n \"memberId\": \"2023010558663764\",\n \"merchantId\": \"2023010558663764\",\n \"address\": \"<string>\",\n \"agreementFile\": \"<string>\",\n \"business\": {\n \"appDownload\": \"<string>\",\n \"businessType\": \"<string>\",\n \"mcc\": \"<string>\",\n \"miniProgram\": \"<string>\",\n \"officeAccount\": \"<string>\",\n \"storeAddress\": \"<string>\",\n \"storePhotos\": \"<string>\",\n \"website\": \"<string>\"\n },\n \"businessAddress\": \"<string>\",\n \"businessPic\": \"<string>\",\n \"certNo\": \"<string>\",\n \"contact\": {\n \"email\": 123,\n \"name\": \"<string>\",\n \"phone\": 123\n },\n \"countryCode\": 123,\n \"director\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"merchantType\": \"<string>\",\n \"phoneNo\": \"<string>\",\n \"principal\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"registrationDate\": \"<string>\",\n \"registrationPic\": \"<string>\",\n \"shareholder\": [\n {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n }\n ],\n \"subMcc\": \"<string>\",\n \"subMerchantId\": 123,\n \"subMerchantName\": \"<string>\",\n \"subMerchantShort\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"isSuccess": true,
"errCode": "00000003",
"errMessage": "处理中",
"status": "PENDING:处理中",
"traceId": "33fae7b7aed1233f",
"data": {
"subMerchantId": "<string>"
}
}商户管理
商户注册
POST
/
v1
/
merchant
/
open
/
api
/
registration
商户注册
curl --request POST \
--url https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration \
--header 'Content-Type: application/json' \
--header 'signature: <api-key>' \
--data '
{
"charset": "UTF-8",
"version": "2.0.0",
"transType": "PAY",
"accessType": "s2s",
"signType": "RSA",
"memberId": "2023010558663764",
"merchantId": "2023010558663764",
"address": "<string>",
"agreementFile": "<string>",
"business": {
"appDownload": "<string>",
"businessType": "<string>",
"mcc": "<string>",
"miniProgram": "<string>",
"officeAccount": "<string>",
"storeAddress": "<string>",
"storePhotos": "<string>",
"website": "<string>"
},
"businessAddress": "<string>",
"businessPic": "<string>",
"certNo": "<string>",
"contact": {
"email": 123,
"name": "<string>",
"phone": 123
},
"countryCode": 123,
"director": {
"name": "<string>",
"number": 123,
"type": "<string>"
},
"merchantType": "<string>",
"phoneNo": "<string>",
"principal": {
"name": "<string>",
"number": 123,
"type": "<string>"
},
"registrationDate": "<string>",
"registrationPic": "<string>",
"shareholder": [
{
"name": "<string>",
"number": 123,
"type": "<string>"
}
],
"subMcc": "<string>",
"subMerchantId": 123,
"subMerchantName": "<string>",
"subMerchantShort": "<string>"
}
'import requests
url = "https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration"
payload = {
"charset": "UTF-8",
"version": "2.0.0",
"transType": "PAY",
"accessType": "s2s",
"signType": "RSA",
"memberId": "2023010558663764",
"merchantId": "2023010558663764",
"address": "<string>",
"agreementFile": "<string>",
"business": {
"appDownload": "<string>",
"businessType": "<string>",
"mcc": "<string>",
"miniProgram": "<string>",
"officeAccount": "<string>",
"storeAddress": "<string>",
"storePhotos": "<string>",
"website": "<string>"
},
"businessAddress": "<string>",
"businessPic": "<string>",
"certNo": "<string>",
"contact": {
"email": 123,
"name": "<string>",
"phone": 123
},
"countryCode": 123,
"director": {
"name": "<string>",
"number": 123,
"type": "<string>"
},
"merchantType": "<string>",
"phoneNo": "<string>",
"principal": {
"name": "<string>",
"number": 123,
"type": "<string>"
},
"registrationDate": "<string>",
"registrationPic": "<string>",
"shareholder": [
{
"name": "<string>",
"number": 123,
"type": "<string>"
}
],
"subMcc": "<string>",
"subMerchantId": 123,
"subMerchantName": "<string>",
"subMerchantShort": "<string>"
}
headers = {
"signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {signature: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
charset: 'UTF-8',
version: '2.0.0',
transType: 'PAY',
accessType: 's2s',
signType: 'RSA',
memberId: '2023010558663764',
merchantId: '2023010558663764',
address: '<string>',
agreementFile: '<string>',
business: {
appDownload: '<string>',
businessType: '<string>',
mcc: '<string>',
miniProgram: '<string>',
officeAccount: '<string>',
storeAddress: '<string>',
storePhotos: '<string>',
website: '<string>'
},
businessAddress: '<string>',
businessPic: '<string>',
certNo: '<string>',
contact: {email: 123, name: '<string>', phone: 123},
countryCode: 123,
director: {name: '<string>', number: 123, type: '<string>'},
merchantType: '<string>',
phoneNo: '<string>',
principal: {name: '<string>', number: 123, type: '<string>'},
registrationDate: '<string>',
registrationPic: '<string>',
shareholder: [{name: '<string>', number: 123, type: '<string>'}],
subMcc: '<string>',
subMerchantId: 123,
subMerchantName: '<string>',
subMerchantShort: '<string>'
})
};
fetch('https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'charset' => 'UTF-8',
'version' => '2.0.0',
'transType' => 'PAY',
'accessType' => 's2s',
'signType' => 'RSA',
'memberId' => '2023010558663764',
'merchantId' => '2023010558663764',
'address' => '<string>',
'agreementFile' => '<string>',
'business' => [
'appDownload' => '<string>',
'businessType' => '<string>',
'mcc' => '<string>',
'miniProgram' => '<string>',
'officeAccount' => '<string>',
'storeAddress' => '<string>',
'storePhotos' => '<string>',
'website' => '<string>'
],
'businessAddress' => '<string>',
'businessPic' => '<string>',
'certNo' => '<string>',
'contact' => [
'email' => 123,
'name' => '<string>',
'phone' => 123
],
'countryCode' => 123,
'director' => [
'name' => '<string>',
'number' => 123,
'type' => '<string>'
],
'merchantType' => '<string>',
'phoneNo' => '<string>',
'principal' => [
'name' => '<string>',
'number' => 123,
'type' => '<string>'
],
'registrationDate' => '<string>',
'registrationPic' => '<string>',
'shareholder' => [
[
'name' => '<string>',
'number' => 123,
'type' => '<string>'
]
],
'subMcc' => '<string>',
'subMerchantId' => 123,
'subMerchantName' => '<string>',
'subMerchantShort' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"signature: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration"
payload := strings.NewReader("{\n \"charset\": \"UTF-8\",\n \"version\": \"2.0.0\",\n \"transType\": \"PAY\",\n \"accessType\": \"s2s\",\n \"signType\": \"RSA\",\n \"memberId\": \"2023010558663764\",\n \"merchantId\": \"2023010558663764\",\n \"address\": \"<string>\",\n \"agreementFile\": \"<string>\",\n \"business\": {\n \"appDownload\": \"<string>\",\n \"businessType\": \"<string>\",\n \"mcc\": \"<string>\",\n \"miniProgram\": \"<string>\",\n \"officeAccount\": \"<string>\",\n \"storeAddress\": \"<string>\",\n \"storePhotos\": \"<string>\",\n \"website\": \"<string>\"\n },\n \"businessAddress\": \"<string>\",\n \"businessPic\": \"<string>\",\n \"certNo\": \"<string>\",\n \"contact\": {\n \"email\": 123,\n \"name\": \"<string>\",\n \"phone\": 123\n },\n \"countryCode\": 123,\n \"director\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"merchantType\": \"<string>\",\n \"phoneNo\": \"<string>\",\n \"principal\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"registrationDate\": \"<string>\",\n \"registrationPic\": \"<string>\",\n \"shareholder\": [\n {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n }\n ],\n \"subMcc\": \"<string>\",\n \"subMerchantId\": 123,\n \"subMerchantName\": \"<string>\",\n \"subMerchantShort\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("signature", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration")
.header("signature", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"charset\": \"UTF-8\",\n \"version\": \"2.0.0\",\n \"transType\": \"PAY\",\n \"accessType\": \"s2s\",\n \"signType\": \"RSA\",\n \"memberId\": \"2023010558663764\",\n \"merchantId\": \"2023010558663764\",\n \"address\": \"<string>\",\n \"agreementFile\": \"<string>\",\n \"business\": {\n \"appDownload\": \"<string>\",\n \"businessType\": \"<string>\",\n \"mcc\": \"<string>\",\n \"miniProgram\": \"<string>\",\n \"officeAccount\": \"<string>\",\n \"storeAddress\": \"<string>\",\n \"storePhotos\": \"<string>\",\n \"website\": \"<string>\"\n },\n \"businessAddress\": \"<string>\",\n \"businessPic\": \"<string>\",\n \"certNo\": \"<string>\",\n \"contact\": {\n \"email\": 123,\n \"name\": \"<string>\",\n \"phone\": 123\n },\n \"countryCode\": 123,\n \"director\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"merchantType\": \"<string>\",\n \"phoneNo\": \"<string>\",\n \"principal\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"registrationDate\": \"<string>\",\n \"registrationPic\": \"<string>\",\n \"shareholder\": [\n {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n }\n ],\n \"subMcc\": \"<string>\",\n \"subMerchantId\": 123,\n \"subMerchantName\": \"<string>\",\n \"subMerchantShort\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mpgwpre.payallglobal.com/mp-gateway/v1/merchant/open/api/registration")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["signature"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"charset\": \"UTF-8\",\n \"version\": \"2.0.0\",\n \"transType\": \"PAY\",\n \"accessType\": \"s2s\",\n \"signType\": \"RSA\",\n \"memberId\": \"2023010558663764\",\n \"merchantId\": \"2023010558663764\",\n \"address\": \"<string>\",\n \"agreementFile\": \"<string>\",\n \"business\": {\n \"appDownload\": \"<string>\",\n \"businessType\": \"<string>\",\n \"mcc\": \"<string>\",\n \"miniProgram\": \"<string>\",\n \"officeAccount\": \"<string>\",\n \"storeAddress\": \"<string>\",\n \"storePhotos\": \"<string>\",\n \"website\": \"<string>\"\n },\n \"businessAddress\": \"<string>\",\n \"businessPic\": \"<string>\",\n \"certNo\": \"<string>\",\n \"contact\": {\n \"email\": 123,\n \"name\": \"<string>\",\n \"phone\": 123\n },\n \"countryCode\": 123,\n \"director\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"merchantType\": \"<string>\",\n \"phoneNo\": \"<string>\",\n \"principal\": {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n },\n \"registrationDate\": \"<string>\",\n \"registrationPic\": \"<string>\",\n \"shareholder\": [\n {\n \"name\": \"<string>\",\n \"number\": 123,\n \"type\": \"<string>\"\n }\n ],\n \"subMcc\": \"<string>\",\n \"subMerchantId\": 123,\n \"subMerchantName\": \"<string>\",\n \"subMerchantShort\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"isSuccess": true,
"errCode": "00000003",
"errMessage": "处理中",
"status": "PENDING:处理中",
"traceId": "33fae7b7aed1233f",
"data": {
"subMerchantId": "<string>"
}
}Authorizations
Example: MIIEpQIBAAKCAQEA...(Base64编码的签名字符串)
加签
加签是开放平台和商户对于交互消息完整性的校验。加签行为主要发生两个部分:
- 商户服务器端针对向PayAllGlobal开放平台发送的请求报文进行加签;
- PayAllGlobal开放平台针对通知商户的异步消息进行加签。 PayAllGlobal平台要求使用 RSA 私钥进行加签, 使用 RSA 公钥进行验签。 因此,在以上两部分描述的交互中, 存在商户公私钥、PayAllGlobal 公私钥,开发者需要使用商户私钥,对第一部分报文进行加签,使用 PayAllGlobal 公钥对第二部分消息进行验签。
加签规则如下:
使用商户私钥对请求体进行 SHA256withRSA 签名后,再进行 Base64 编码的结果。
- 使用 商户私钥对待
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();
- 将加签内容进行 Base64 编码;
String signature = Base64.getEncoder().encodeToString(signedHash);
- 将编码后的内容放在请求头部 signature 参数中。 注意,加签是对 request.body 进行签名,当查询等 request.body 为空时,则无需加签。
Body
application/json
交互数据的编码【utf-8】
Example:
"UTF-8"
接口版本,当前版本为【2.0.0】,目前只能传2.0.0,不能不传
Example:
"2.0.0"
交易类型
Available options:
PAY: 消费支付, CREDIT_CARD: 信用卡支付, 3D_PREAUTH_VOIDS: 3D 预授权撤销, 3D_PREAUTH_COMPLETION: 3D 预授权完成, REFUND: 退款, VOIDS: 撤销, QUERY: 查询, TRANSFER: 转账, DOWNLOAD: 文件下载, REGISTRATION: 商户注册, FILEUPLOAD: 文件上传, INQUIRYREGISTRATIONSTATUS: 查询注册状态, AUTHORIZE: 授权, CASHIER_PAY: 收银台支付 接口接入类型,固定为服务端到服务端(s2s)模式
Example:
"s2s"
报文签名类型,当前支持RSA。
Example:
"RSA"
机构号,商户侧唯一标识
Example:
"2023010558663764"
商户号,商户唯一标识
Example:
"2023010558663764"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
200 - application/json
OK
是否成功,true表示成功,false表示失败
Example:
true
响应状态码,errCode为00000000表示响应成功,其他状态码表示响应失败。具体系统错误码可以参考系统错误码。
Example:
"00000003"
错误消息
Example:
"处理中"
订单状态(见补充说明)
Examples:
"PENDING:处理中"
"SUCCESS:成功"
"FAIL:失败"
请求消息唯一标识。traceId为本次调用产生的流水号,接口调用异常,可以提供此流水号用于排查问题。
Example:
"33fae7b7aed1233f"
Show child attributes
Show child attributes
⌘I