跳转至

支付宝

版本:v1

认证方式:Bearer Token

目录

接口列表

创建订单 - 当面付

接口说明

创建一个当面付订单,并返回支付二维码。

基本信息

  • 接口名称:创建订单 - 当面付
  • 请求方式:POST
  • 请求路径:/Alipay/{appKey}/CreateOrder

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
orderNo string - 自定义订单号
amount number - 订单金额。例如:0.01
subject string - 商品名称
returnUrl string - 支付完成后返回的URL地址

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Alipay/{appKey}/CreateOrder"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Alipay/{appKey}/CreateOrder"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额例如0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Alipay/{appKey}/CreateOrder", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};

const config = {
    method: 'post',
    url: '{server}/Alipay/{appKey}/CreateOrder',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Alipay/{appKey}/CreateOrder";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Alipay/{appKey}/CreateOrder", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Alipay/{appKey}/CreateOrder")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};

fetch("{server}/Alipay/{appKey}/CreateOrder", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Alipay/{appKey}/CreateOrder")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Alipay/{appKey}/CreateOrder")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

创建订单 - PC支付

接口说明

创建一个PC支付订单,并返回支付页面。

基本信息

  • 接口名称:创建订单 - PC支付
  • 请求方式:POST
  • 请求路径:/Alipay/{appKey}/CreateOrderPagePay

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
orderNo string - 自定义订单号
amount number - 订单金额。例如:0.01
subject string - 商品名称
returnUrl string - 支付完成后返回的URL地址

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Alipay/{appKey}/CreateOrderPagePay"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Alipay/{appKey}/CreateOrderPagePay"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额例如0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Alipay/{appKey}/CreateOrderPagePay", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};

const config = {
    method: 'post',
    url: '{server}/Alipay/{appKey}/CreateOrderPagePay',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Alipay/{appKey}/CreateOrderPagePay";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Alipay/{appKey}/CreateOrderPagePay", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Alipay/{appKey}/CreateOrderPagePay")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};

fetch("{server}/Alipay/{appKey}/CreateOrderPagePay", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Alipay/{appKey}/CreateOrderPagePay")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Alipay/{appKey}/CreateOrderPagePay")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

创建订单 - WAP支付

接口说明

创建一个WAP支付订单,并返回支付页面。

基本信息

  • 接口名称:创建订单 - WAP支付
  • 请求方式:POST
  • 请求路径:/Alipay/{appKey}/CreateOrderWapPay

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
orderNo string - 自定义订单号
amount number - 订单金额。例如:0.01
subject string - 商品名称
returnUrl string - 支付完成后返回的URL地址

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Alipay/{appKey}/CreateOrderWapPay"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Alipay/{appKey}/CreateOrderWapPay"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额例如0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Alipay/{appKey}/CreateOrderWapPay", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};

const config = {
    method: 'post',
    url: '{server}/Alipay/{appKey}/CreateOrderWapPay',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Alipay/{appKey}/CreateOrderWapPay";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Alipay/{appKey}/CreateOrderWapPay", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Alipay/{appKey}/CreateOrderWapPay")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};

fetch("{server}/Alipay/{appKey}/CreateOrderWapPay", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Alipay/{appKey}/CreateOrderWapPay")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Alipay/{appKey}/CreateOrderWapPay")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

订单详情

接口说明

查询订单详情,包括订单状态和支付信息。

基本信息

  • 接口名称:订单详情
  • 请求方式:GET
  • 请求路径:/Alipay/{appKey}/OrderDetail

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Query 参数
参数名 类型 示例值 参数描述 是否必填
orderNo string - 订单号

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Alipay/{appKey}/OrderDetail"))
            .header("Authorization", "Bearer {your_access_token}");


        requestBuilder.method("get", HttpRequest.BodyPublishers.noBody());

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Alipay/{appKey}/OrderDetail"
headers = {
    "Authorization": "Bearer {your_access_token}"
}

response = requests.get(
    url,
    headers=headers
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error

    req, err = http.NewRequest("get", "{server}/Alipay/{appKey}/OrderDetail", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');

const config = {
    method: 'get',
    url: '{server}/Alipay/{appKey}/OrderDetail',
    headers: {
        'Authorization': 'Bearer {your_access_token}'
    }
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Alipay/{appKey}/OrderDetail";
$headers = [
    "Authorization: Bearer {your_access_token}"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "get");

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;
            response = await client.getAsync("{server}/Alipay/{appKey}/OrderDetail");

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Alipay/{appKey}/OrderDetail")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"

response = http.request(request)
puts response.body
1
2
3
4
5
6
7
8
fetch("{server}/Alipay/{appKey}/OrderDetail", {
    method: "get",
    headers: {
        "Authorization": "Bearer {your_access_token}"
    }
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Alipay/{appKey}/OrderDetail")
            .addHeader("Authorization", "Bearer {your_access_token}");
        requestBuilder.method("get", null);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Alipay/{appKey}/OrderDetail")!
var request = URLRequest(url: url)
request.httpMethod = "get"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

{
    "code": 200          // 状态码,
    "data": {
    "code": "",
    "msg": "",
    "subCode": "",
    "subMsg": "",
    "isError": false,
    "additionalStatus": "",
    "alipayStoreId": "",
    "alipaySubMerchantId": "",
    "asyncPayApplyStatus": "",
    "authTradePayMode": "",
    "bizSettleMode": "",
    "bkagentRespInfo": {
    "bindclrissrId": "",
    "bindpyeracctbkId": "",
    "bindtrxId": "",
    "bkpyeruserCode": "",
    "estterLocation": ""
},
    "body": "",
    "buyerLogonId": "",
    "buyerOpenId": "",
    "buyerPayAmount": "",
    "buyerUserId": "",
    "buyerUserName": "",
    "buyerUserType": "",
    "cashierType": "",
    "chargeAmount": "",
    "chargeFlags": "",
    "chargeInfoList": [
      {
          "chargeFee": "",
          "chargeType": "",
          "isRatingOnSwitch": "",
          "isRatingOnTradeReceiver": "",
          "originalChargeFee": "",
          "subFeeDetailList": [
            {
                "chargeFee": "",
                "originalChargeFee": "",
                "switchFeeRate": ""
            }
          ],
          "switchFeeRate": ""
      }
    ],
    "creditBizOrderId": "",
    "creditPayMode": "",
    "discountAmount": "",
    "discountGoodsDetail": "",
    "enterprisePayInfo": {
    "bizInfo": "",
    "invoiceAmount": "",
    "isUseEnterprisePay": false
},
    "extInfos": "",
    "fulfillmentDetailList": [
      {
          "fulfillmentAmount": "",
          "gmtPayment": "",
          "outRequestNo": ""
      }
    ],
    "fundBillList": [
      {
          "amount": "",
          "bankCode": "",
          "fundChannel": "",
          "fundType": "",
          "realAmount": ""
      }
    ],
    "hbFqPayInfo": {
    "fqAmount": "",
    "userInstallNum": ""
},
    "hybAmount": "",
    "industrySepcDetail": "",
    "industrySepcDetailAcc": "",
    "industrySepcDetailGov": "",
    "intactChargeInfoList": [
      {
          "actualAmount": "",
          "billType": "",
          "gmtPay": "",
          "isRefund": false,
          "outBizNo": "",
          "planAmount": "",
          "productName": "",
          "serviceTarget": "",
          "serviceType": "",
          "status": "",
          "targetAccountNo": "",
          "targetUserId": ""
      }
    ],
    "invoiceAmount": "",
    "mdiscountAmount": "",
    "medicalInsuranceInfo": "",
    "openId": "",
    "outTradeNo": "",
    "passbackParams": "",
    "payAmount": "",
    "payCurrency": "",
    "paymentInfoWithIdList": [
      {
          "paymentIds": [],
          "type": ""
      }
    ],
    "periodScene": "",
    "pointAmount": "",
    "preAuthPayAmount": "",
    "receiptAmount": "",
    "receiptCurrencyType": "",
    "reqGoodsDetail": [
      {
          "alipayGoodsId": "",
          "body": "",
          "categoriesTree": "",
          "goodsCategory": "",
          "goodsId": "",
          "goodsName": "",
          "outItemId": "",
          "outSkuId": "",
          "price": "",
          "quantity": "0",
          "showUrl": ""
      }
    ],
    "sendPayDate": "",
    "settleAmount": "",
    "settleCurrency": "",
    "settleTransRate": "",
    "settlementId": "",
    "storeId": "",
    "storeName": "",
    "subject": "",
    "tapPayInfo": {
    "paymentMediumType": ""
},
    "terminalId": "",
    "totalAmount": "",
    "tradeNo": "",
    "tradeSettleInfo": {
    "tradeSettleDetailList": [
      {
          "amount": "",
          "operationDt": "",
          "operationSerialNo": "",
          "operationType": "",
          "oriTransIn": "",
          "oriTransOut": "",
          "transIn": "",
          "transOut": ""
      }
    ],
    "tradeUnsettledAmount": ""
},
    "tradeStatus": "",
    "transCurrency": "",
    "transPayRate": "",
    "voucherDetailList": [
      {
          "amount": "",
          "id": "",
          "memo": "",
          "merchantContribute": "",
          "name": "",
          "otherContribute": "",
          "otherContributeDetail": [
            {
                "contributeAmount": "",
                "contributeType": ""
            }
          ],
          "purchaseAntContribute": "",
          "purchaseBuyerContribute": "",
          "purchaseMerchantContribute": "",
          "templateId": "",
          "type": ""
      }
    ]
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data AlipayTradeQueryResponse -
error string 错误信息

订单退款

接口说明

对指定订单进行退款操作。

基本信息

  • 接口名称:订单退款
  • 请求方式:POST
  • 请求路径:/Alipay/{appKey}/OrderRefund

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Query 参数
参数名 类型 示例值 参数描述 是否必填
amount string - 退款金额
orderNo string - 订单号

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Alipay/{appKey}/OrderRefund"))
            .header("Authorization", "Bearer {your_access_token}");


        requestBuilder.method("post", HttpRequest.BodyPublishers.noBody());

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Alipay/{appKey}/OrderRefund"
headers = {
    "Authorization": "Bearer {your_access_token}"
}

response = requests.post(
    url,
    headers=headers
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error

    req, err = http.NewRequest("post", "{server}/Alipay/{appKey}/OrderRefund", nil)
    if err != nil {
        panic(err)
    }

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');

const config = {
    method: 'post',
    url: '{server}/Alipay/{appKey}/OrderRefund',
    headers: {
        'Authorization': 'Bearer {your_access_token}'
    }
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Alipay/{appKey}/OrderRefund";
$headers = [
    "Authorization: Bearer {your_access_token}"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;
            response = await client.postAsync("{server}/Alipay/{appKey}/OrderRefund");

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Alipay/{appKey}/OrderRefund")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"

response = http.request(request)
puts response.body
1
2
3
4
5
6
7
8
fetch("{server}/Alipay/{appKey}/OrderRefund", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}"
    }
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Alipay/{appKey}/OrderRefund")
            .addHeader("Authorization", "Bearer {your_access_token}");
        requestBuilder.method("post", null);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Alipay/{appKey}/OrderRefund")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

{
    "code": 200          // 状态码,
    "data": {
    "code": "",
    "msg": "",
    "subCode": "",
    "subMsg": "",
    "body": "",
    "isError": false,
    "buyerLogonId": "",
    "buyerOpenId": "",
    "buyerUserId": "",
    "fundChange": "",
    "gmtRefundPay": "",
    "hasDepositBack": "",
    "openId": "",
    "outTradeNo": "",
    "preAuthCancelFee": "",
    "presentRefundBuyerAmount": "",
    "presentRefundDiscountAmount": "",
    "presentRefundMdiscountAmount": "",
    "refundChargeAmount": "",
    "refundChargeInfoList": [
      {
          "chargeType": "",
          "refundChargeFee": "",
          "refundSubFeeDetailList": [
            {
                "refundChargeFee": "",
                "switchFeeRate": ""
            }
          ],
          "switchFeeRate": ""
      }
    ],
    "refundCurrency": "",
    "refundDetailItemList": [
      {
          "amount": "",
          "bankCode": "",
          "fundChannel": "",
          "fundType": "",
          "realAmount": ""
      }
    ],
    "refundFee": "",
    "refundHybAmount": "",
    "refundPresetPaytoolList": {
    "amount": [],
    "assertTypeCode": ""
},
    "refundSettlementId": "",
    "refundVoucherDetailList": [
      {
          "amount": "",
          "id": "",
          "memo": "",
          "merchantContribute": "",
          "name": "",
          "otherContribute": "",
          "otherContributeDetail": [
            {
                "contributeAmount": "",
                "contributeType": ""
            }
          ],
          "purchaseAntContribute": "",
          "purchaseBuyerContribute": "",
          "purchaseMerchantContribute": "",
          "templateId": "",
          "type": ""
      }
    ],
    "sendBackFee": "",
    "storeName": "",
    "tradeNo": ""
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data AlipayTradeRefundResponse -
error string 错误信息

支付成功同步通知

接口说明

处理支付宝支付成功的同步通知。

基本信息

  • 接口名称:支付成功同步通知
  • 请求方式:POST
  • 请求路径:/Alipay/{appKey}/ReturnPageNotify

请求参数

Path 参数
参数名 示例值 参数描述 是否必填
appKey - -
Body 参数
参数名 类型 示例值 参数描述 是否必填
app_id string - 应用ID
auth_app_id string - 授权应用ID
charset string - 字符集
method string - 接口名称
out_trade_no string - 商户订单号
seller_id string - 卖家支付宝用户号
sign string - 签名
sign_type string - 签名类型
timestamp string - 时间戳
total_amount string - 订单总金额
trade_no string - 支付宝交易号
version string - 接口版本

示例代码

import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;


public class ApiClient {
    public static void main(String[] args) {
        HttpClient client = HttpClient.newHttpClient();

        HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
            .uri(URI.create("{server}/Alipay/{appKey}/ReturnPageNotify"))
            .header("Authorization", "Bearer {your_access_token}")
            .header("Content-Type", "application/json");



        // 创建请求体数据
        Map<String, Object> data = {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
};
        ObjectMapper mapper = new ObjectMapper();
        String jsonBody = mapper.writeValueAsString(data);
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), jsonBody);

        requestBuilder.method("post", HttpRequest.BodyPublishers.ofString(jsonBody));

        try {
            HttpResponse<String> response = client.send(requestBuilder.build(), HttpResponse.BodyHandlers.ofString());
            System.out.println(response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import requests

url = "{server}/Alipay/{appKey}/ReturnPageNotify"
headers = {
    "Authorization": "Bearer {your_access_token}",
    "Content-Type": "application/json"
}


data = {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
}

response = requests.post(
    url,
    headers=headers,
    json=data
)

print(response.json())
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "bytes"
    "encoding/json"
)

func main() {
    client := &http.Client{}

    var req *http.Request
    var err error


    data := {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
}
    jsonBody, err := json.Marshal(data)
    if err != nil {
        panic(err)
    }

    req, err = http.NewRequest("post", "{server}/Alipay/{appKey}/ReturnPageNotify", bytes.NewBuffer(jsonBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Content-Type", "application/json")

    req.Header.Add("Authorization", "Bearer {your_access_token}")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
const axios = require('axios');


const data = {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
};

const config = {
    method: 'post',
    url: '{server}/Alipay/{appKey}/ReturnPageNotify',
    headers: {
        'Authorization': 'Bearer {your_access_token}',
        'Content-Type': 'application/json'
    },
    data: data
};

axios(config)
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error(error);
    });
<?php

$url = "{server}/Alipay/{appKey}/ReturnPageNotify";
$headers = [
    "Authorization: Bearer {your_access_token}",
    "Content-Type: application/json"
];


$data = {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
};

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "post");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

echo $response;
using System;
using System.Net.Http;
using System.Threading.Tasks;
using System.Text;
using System.Text.Json;

class Program
{
    static async Task Main()
    {
        using (var client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer {your_access_token}");

            HttpResponseMessage response;


            var data = {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
};
            var content = new StringContent(
                JsonSerializer.Serialize(data),
                Encoding.UTF8,
                "application/json");
            response = await client.postAsync("{server}/Alipay/{appKey}/ReturnPageNotify", content);

            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
    }
}
require 'net/http'
require 'json'

uri = URI("{server}/Alipay/{appKey}/ReturnPageNotify")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::undefined.new(uri)
request["Authorization"] = "Bearer {your_access_token}"
request["Content-Type"] = "application/json"


data = {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
}
request.set_form_data(data)

response = http.request(request)
puts response.body
const data = {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
};

fetch("{server}/Alipay/{appKey}/ReturnPageNotify", {
    method: "post",
    headers: {
        "Authorization": "Bearer {your_access_token}",
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.catch(error => console.error(error));
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import org.json.JSONObject;


public class ApiClient {
    private final OkHttpClient client = new OkHttpClient();

    public void makeRequest() {
        Request.Builder requestBuilder = new Request.Builder()
            .url("{server}/Alipay/{appKey}/ReturnPageNotify")
            .addHeader("Authorization", "Bearer {your_access_token}")
            .addHeader("Content-Type", "application/json");


        JSONObject data = {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
};
        RequestBody body = RequestBody.create(
            MediaType.parse("application/json"), data.toString());

        requestBuilder.method("post", body);

        try (Response response = client.newCall(requestBuilder.build()).execute()) {
            System.out.println(response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
import Foundation

let url = URL(string: "{server}/Alipay/{appKey}/ReturnPageNotify")!
var request = URLRequest(url: url)
request.httpMethod = "post"
request.setValue("Bearer {your_access_token}", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")


let data = {
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
}
let jsonData = try? JSONSerialization.data(withJSONObject: data)
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let data = data {
        if let json = try? JSONSerialization.jsonObject(with: data) {
            print(json)
        }
    }
}
task.resume()

返回结果

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": false          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data boolean 响应数据
error string 错误信息

数据结构

AlipayCreateOrderPagePayRequest

1
2
3
4
5
6
{
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
字段名 类型 描述 是否必填
orderNo string 自定义订单号
amount number 订单金额。例如:0.01
subject string 商品名称
returnUrl string 支付完成后返回的URL地址

AlipayCreateOrderRequest

1
2
3
4
5
6
{
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
字段名 类型 描述 是否必填
orderNo string 自定义订单号
amount number 订单金额。例如:0.01
subject string 商品名称
returnUrl string 支付完成后返回的URL地址

AlipayCreateOrderWapPayRequest

1
2
3
4
5
6
{
    "orderNo": ""          // 自定义订单号,
    "amount": "0"          // 订单金额。例如:0.01,
    "subject": ""          // 商品名称,
    "returnUrl": ""          // 支付完成后返回的URL地址
}
字段名 类型 描述 是否必填
orderNo string 自定义订单号
amount number 订单金额。例如:0.01
subject string 商品名称
returnUrl string 支付完成后返回的URL地址

AlipayTradeQueryResponse

{
    "code": "",
    "msg": "",
    "subCode": "",
    "subMsg": "",
    "isError": false,
    "additionalStatus": "",
    "alipayStoreId": "",
    "alipaySubMerchantId": "",
    "asyncPayApplyStatus": "",
    "authTradePayMode": "",
    "bizSettleMode": "",
    "bkagentRespInfo": {
    "bindclrissrId": "",
    "bindpyeracctbkId": "",
    "bindtrxId": "",
    "bkpyeruserCode": "",
    "estterLocation": ""
},
    "body": "",
    "buyerLogonId": "",
    "buyerOpenId": "",
    "buyerPayAmount": "",
    "buyerUserId": "",
    "buyerUserName": "",
    "buyerUserType": "",
    "cashierType": "",
    "chargeAmount": "",
    "chargeFlags": "",
    "chargeInfoList": [
      {
          "chargeFee": "",
          "chargeType": "",
          "isRatingOnSwitch": "",
          "isRatingOnTradeReceiver": "",
          "originalChargeFee": "",
          "subFeeDetailList": [
            {
                "chargeFee": "",
                "originalChargeFee": "",
                "switchFeeRate": ""
            }
          ],
          "switchFeeRate": ""
      }
    ],
    "creditBizOrderId": "",
    "creditPayMode": "",
    "discountAmount": "",
    "discountGoodsDetail": "",
    "enterprisePayInfo": {
    "bizInfo": "",
    "invoiceAmount": "",
    "isUseEnterprisePay": false
},
    "extInfos": "",
    "fulfillmentDetailList": [
      {
          "fulfillmentAmount": "",
          "gmtPayment": "",
          "outRequestNo": ""
      }
    ],
    "fundBillList": [
      {
          "amount": "",
          "bankCode": "",
          "fundChannel": "",
          "fundType": "",
          "realAmount": ""
      }
    ],
    "hbFqPayInfo": {
    "fqAmount": "",
    "userInstallNum": ""
},
    "hybAmount": "",
    "industrySepcDetail": "",
    "industrySepcDetailAcc": "",
    "industrySepcDetailGov": "",
    "intactChargeInfoList": [
      {
          "actualAmount": "",
          "billType": "",
          "gmtPay": "",
          "isRefund": false,
          "outBizNo": "",
          "planAmount": "",
          "productName": "",
          "serviceTarget": "",
          "serviceType": "",
          "status": "",
          "targetAccountNo": "",
          "targetUserId": ""
      }
    ],
    "invoiceAmount": "",
    "mdiscountAmount": "",
    "medicalInsuranceInfo": "",
    "openId": "",
    "outTradeNo": "",
    "passbackParams": "",
    "payAmount": "",
    "payCurrency": "",
    "paymentInfoWithIdList": [
      {
          "paymentIds": [],
          "type": ""
      }
    ],
    "periodScene": "",
    "pointAmount": "",
    "preAuthPayAmount": "",
    "receiptAmount": "",
    "receiptCurrencyType": "",
    "reqGoodsDetail": [
      {
          "alipayGoodsId": "",
          "body": "",
          "categoriesTree": "",
          "goodsCategory": "",
          "goodsId": "",
          "goodsName": "",
          "outItemId": "",
          "outSkuId": "",
          "price": "",
          "quantity": "0",
          "showUrl": ""
      }
    ],
    "sendPayDate": "",
    "settleAmount": "",
    "settleCurrency": "",
    "settleTransRate": "",
    "settlementId": "",
    "storeId": "",
    "storeName": "",
    "subject": "",
    "tapPayInfo": {
    "paymentMediumType": ""
},
    "terminalId": "",
    "totalAmount": "",
    "tradeNo": "",
    "tradeSettleInfo": {
    "tradeSettleDetailList": [
      {
          "amount": "",
          "operationDt": "",
          "operationSerialNo": "",
          "operationType": "",
          "oriTransIn": "",
          "oriTransOut": "",
          "transIn": "",
          "transOut": ""
      }
    ],
    "tradeUnsettledAmount": ""
},
    "tradeStatus": "",
    "transCurrency": "",
    "transPayRate": "",
    "voucherDetailList": [
      {
          "amount": "",
          "id": "",
          "memo": "",
          "merchantContribute": "",
          "name": "",
          "otherContribute": "",
          "otherContributeDetail": [
            {
                "contributeAmount": "",
                "contributeType": ""
            }
          ],
          "purchaseAntContribute": "",
          "purchaseBuyerContribute": "",
          "purchaseMerchantContribute": "",
          "templateId": "",
          "type": ""
      }
    ]
}
字段名 类型 描述 是否必填
code string -
msg string -
subCode string -
subMsg string -
isError boolean -
additionalStatus string -
alipayStoreId string -
alipaySubMerchantId string -
asyncPayApplyStatus string -
authTradePayMode string -
bizSettleMode string -
bkagentRespInfo - -
body string -
buyerLogonId string -
buyerOpenId string -
buyerPayAmount string -
buyerUserId string -
buyerUserName string -
buyerUserType string -
cashierType string -
chargeAmount string -
chargeFlags string -
chargeInfoList array -
creditBizOrderId string -
creditPayMode string -
discountAmount string -
discountGoodsDetail string -
enterprisePayInfo - -
extInfos string -
fulfillmentDetailList array -
fundBillList array -
hbFqPayInfo - -
hybAmount string -
industrySepcDetail string -
industrySepcDetailAcc string -
industrySepcDetailGov string -
intactChargeInfoList array -
invoiceAmount string -
mdiscountAmount string -
medicalInsuranceInfo string -
openId string -
outTradeNo string -
passbackParams string -
payAmount string -
payCurrency string -
paymentInfoWithIdList array -
periodScene string -
pointAmount string -
preAuthPayAmount string -
receiptAmount string -
receiptCurrencyType string -
reqGoodsDetail array -
sendPayDate string -
settleAmount string -
settleCurrency string -
settleTransRate string -
settlementId string -
storeId string -
storeName string -
subject string -
tapPayInfo - -
terminalId string -
totalAmount string -
tradeNo string -
tradeSettleInfo - -
tradeStatus string -
transCurrency string -
transPayRate string -
voucherDetailList array -

AlipayTradeQueryResponseApiResponse

{
    "code": 200          // 状态码,
    "data": {
    "code": "",
    "msg": "",
    "subCode": "",
    "subMsg": "",
    "isError": false,
    "additionalStatus": "",
    "alipayStoreId": "",
    "alipaySubMerchantId": "",
    "asyncPayApplyStatus": "",
    "authTradePayMode": "",
    "bizSettleMode": "",
    "bkagentRespInfo": {
    "bindclrissrId": "",
    "bindpyeracctbkId": "",
    "bindtrxId": "",
    "bkpyeruserCode": "",
    "estterLocation": ""
},
    "body": "",
    "buyerLogonId": "",
    "buyerOpenId": "",
    "buyerPayAmount": "",
    "buyerUserId": "",
    "buyerUserName": "",
    "buyerUserType": "",
    "cashierType": "",
    "chargeAmount": "",
    "chargeFlags": "",
    "chargeInfoList": [
      {
          "chargeFee": "",
          "chargeType": "",
          "isRatingOnSwitch": "",
          "isRatingOnTradeReceiver": "",
          "originalChargeFee": "",
          "subFeeDetailList": [
            {
                "chargeFee": "",
                "originalChargeFee": "",
                "switchFeeRate": ""
            }
          ],
          "switchFeeRate": ""
      }
    ],
    "creditBizOrderId": "",
    "creditPayMode": "",
    "discountAmount": "",
    "discountGoodsDetail": "",
    "enterprisePayInfo": {
    "bizInfo": "",
    "invoiceAmount": "",
    "isUseEnterprisePay": false
},
    "extInfos": "",
    "fulfillmentDetailList": [
      {
          "fulfillmentAmount": "",
          "gmtPayment": "",
          "outRequestNo": ""
      }
    ],
    "fundBillList": [
      {
          "amount": "",
          "bankCode": "",
          "fundChannel": "",
          "fundType": "",
          "realAmount": ""
      }
    ],
    "hbFqPayInfo": {
    "fqAmount": "",
    "userInstallNum": ""
},
    "hybAmount": "",
    "industrySepcDetail": "",
    "industrySepcDetailAcc": "",
    "industrySepcDetailGov": "",
    "intactChargeInfoList": [
      {
          "actualAmount": "",
          "billType": "",
          "gmtPay": "",
          "isRefund": false,
          "outBizNo": "",
          "planAmount": "",
          "productName": "",
          "serviceTarget": "",
          "serviceType": "",
          "status": "",
          "targetAccountNo": "",
          "targetUserId": ""
      }
    ],
    "invoiceAmount": "",
    "mdiscountAmount": "",
    "medicalInsuranceInfo": "",
    "openId": "",
    "outTradeNo": "",
    "passbackParams": "",
    "payAmount": "",
    "payCurrency": "",
    "paymentInfoWithIdList": [
      {
          "paymentIds": [],
          "type": ""
      }
    ],
    "periodScene": "",
    "pointAmount": "",
    "preAuthPayAmount": "",
    "receiptAmount": "",
    "receiptCurrencyType": "",
    "reqGoodsDetail": [
      {
          "alipayGoodsId": "",
          "body": "",
          "categoriesTree": "",
          "goodsCategory": "",
          "goodsId": "",
          "goodsName": "",
          "outItemId": "",
          "outSkuId": "",
          "price": "",
          "quantity": "0",
          "showUrl": ""
      }
    ],
    "sendPayDate": "",
    "settleAmount": "",
    "settleCurrency": "",
    "settleTransRate": "",
    "settlementId": "",
    "storeId": "",
    "storeName": "",
    "subject": "",
    "tapPayInfo": {
    "paymentMediumType": ""
},
    "terminalId": "",
    "totalAmount": "",
    "tradeNo": "",
    "tradeSettleInfo": {
    "tradeSettleDetailList": [
      {
          "amount": "",
          "operationDt": "",
          "operationSerialNo": "",
          "operationType": "",
          "oriTransIn": "",
          "oriTransOut": "",
          "transIn": "",
          "transOut": ""
      }
    ],
    "tradeUnsettledAmount": ""
},
    "tradeStatus": "",
    "transCurrency": "",
    "transPayRate": "",
    "voucherDetailList": [
      {
          "amount": "",
          "id": "",
          "memo": "",
          "merchantContribute": "",
          "name": "",
          "otherContribute": "",
          "otherContributeDetail": [
            {
                "contributeAmount": "",
                "contributeType": ""
            }
          ],
          "purchaseAntContribute": "",
          "purchaseBuyerContribute": "",
          "purchaseMerchantContribute": "",
          "templateId": "",
          "type": ""
      }
    ]
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data - -
error string 错误信息

AlipayTradeRefundResponse

{
    "code": "",
    "msg": "",
    "subCode": "",
    "subMsg": "",
    "body": "",
    "isError": false,
    "buyerLogonId": "",
    "buyerOpenId": "",
    "buyerUserId": "",
    "fundChange": "",
    "gmtRefundPay": "",
    "hasDepositBack": "",
    "openId": "",
    "outTradeNo": "",
    "preAuthCancelFee": "",
    "presentRefundBuyerAmount": "",
    "presentRefundDiscountAmount": "",
    "presentRefundMdiscountAmount": "",
    "refundChargeAmount": "",
    "refundChargeInfoList": [
      {
          "chargeType": "",
          "refundChargeFee": "",
          "refundSubFeeDetailList": [
            {
                "refundChargeFee": "",
                "switchFeeRate": ""
            }
          ],
          "switchFeeRate": ""
      }
    ],
    "refundCurrency": "",
    "refundDetailItemList": [
      {
          "amount": "",
          "bankCode": "",
          "fundChannel": "",
          "fundType": "",
          "realAmount": ""
      }
    ],
    "refundFee": "",
    "refundHybAmount": "",
    "refundPresetPaytoolList": {
    "amount": [],
    "assertTypeCode": ""
},
    "refundSettlementId": "",
    "refundVoucherDetailList": [
      {
          "amount": "",
          "id": "",
          "memo": "",
          "merchantContribute": "",
          "name": "",
          "otherContribute": "",
          "otherContributeDetail": [
            {
                "contributeAmount": "",
                "contributeType": ""
            }
          ],
          "purchaseAntContribute": "",
          "purchaseBuyerContribute": "",
          "purchaseMerchantContribute": "",
          "templateId": "",
          "type": ""
      }
    ],
    "sendBackFee": "",
    "storeName": "",
    "tradeNo": ""
}
字段名 类型 描述 是否必填
code string -
msg string -
subCode string -
subMsg string -
body string -
isError boolean -
buyerLogonId string -
buyerOpenId string -
buyerUserId string -
fundChange string -
gmtRefundPay string -
hasDepositBack string -
openId string -
outTradeNo string -
preAuthCancelFee string -
presentRefundBuyerAmount string -
presentRefundDiscountAmount string -
presentRefundMdiscountAmount string -
refundChargeAmount string -
refundChargeInfoList array -
refundCurrency string -
refundDetailItemList array -
refundFee string -
refundHybAmount string -
refundPresetPaytoolList - -
refundSettlementId string -
refundVoucherDetailList array -
sendBackFee string -
storeName string -
tradeNo string -

AlipayTradeRefundResponseApiResponse

{
    "code": 200          // 状态码,
    "data": {
    "code": "",
    "msg": "",
    "subCode": "",
    "subMsg": "",
    "body": "",
    "isError": false,
    "buyerLogonId": "",
    "buyerOpenId": "",
    "buyerUserId": "",
    "fundChange": "",
    "gmtRefundPay": "",
    "hasDepositBack": "",
    "openId": "",
    "outTradeNo": "",
    "preAuthCancelFee": "",
    "presentRefundBuyerAmount": "",
    "presentRefundDiscountAmount": "",
    "presentRefundMdiscountAmount": "",
    "refundChargeAmount": "",
    "refundChargeInfoList": [
      {
          "chargeType": "",
          "refundChargeFee": "",
          "refundSubFeeDetailList": [
            {
                "refundChargeFee": "",
                "switchFeeRate": ""
            }
          ],
          "switchFeeRate": ""
      }
    ],
    "refundCurrency": "",
    "refundDetailItemList": [
      {
          "amount": "",
          "bankCode": "",
          "fundChannel": "",
          "fundType": "",
          "realAmount": ""
      }
    ],
    "refundFee": "",
    "refundHybAmount": "",
    "refundPresetPaytoolList": {
    "amount": [],
    "assertTypeCode": ""
},
    "refundSettlementId": "",
    "refundVoucherDetailList": [
      {
          "amount": "",
          "id": "",
          "memo": "",
          "merchantContribute": "",
          "name": "",
          "otherContribute": "",
          "otherContributeDetail": [
            {
                "contributeAmount": "",
                "contributeType": ""
            }
          ],
          "purchaseAntContribute": "",
          "purchaseBuyerContribute": "",
          "purchaseMerchantContribute": "",
          "templateId": "",
          "type": ""
      }
    ],
    "sendBackFee": "",
    "storeName": "",
    "tradeNo": ""
},
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data - -
error string 错误信息

BkAgentRespInfo

1
2
3
4
5
6
7
{
    "bindclrissrId": "",
    "bindpyeracctbkId": "",
    "bindtrxId": "",
    "bkpyeruserCode": "",
    "estterLocation": ""
}
字段名 类型 描述 是否必填
bindclrissrId string -
bindpyeracctbkId string -
bindtrxId string -
bkpyeruserCode string -
estterLocation string -

BooleanApiResponse

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": false          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data boolean 响应数据
error string 错误信息

ChargeInfo

{
    "chargeFee": "",
    "chargeType": "",
    "isRatingOnSwitch": "",
    "isRatingOnTradeReceiver": "",
    "originalChargeFee": "",
    "subFeeDetailList": [
      {
          "chargeFee": "",
          "originalChargeFee": "",
          "switchFeeRate": ""
      }
    ],
    "switchFeeRate": ""
}
字段名 类型 描述 是否必填
chargeFee string -
chargeType string -
isRatingOnSwitch string -
isRatingOnTradeReceiver string -
originalChargeFee string -
subFeeDetailList array -
switchFeeRate string -

ContributeDetail

1
2
3
4
{
    "contributeAmount": "",
    "contributeType": ""
}
字段名 类型 描述 是否必填
contributeAmount string -
contributeType string -

EnterprisePayInfo

1
2
3
4
5
{
    "bizInfo": "",
    "invoiceAmount": "",
    "isUseEnterprisePay": false
}
字段名 类型 描述 是否必填
bizInfo string -
invoiceAmount string -
isUseEnterprisePay boolean -

FulfillmentDetail

1
2
3
4
5
{
    "fulfillmentAmount": "",
    "gmtPayment": "",
    "outRequestNo": ""
}
字段名 类型 描述 是否必填
fulfillmentAmount string -
gmtPayment string -
outRequestNo string -

GoodsDetail

{
    "alipayGoodsId": "",
    "body": "",
    "categoriesTree": "",
    "goodsCategory": "",
    "goodsId": "",
    "goodsName": "",
    "outItemId": "",
    "outSkuId": "",
    "price": "",
    "quantity": "0",
    "showUrl": ""
}
字段名 类型 描述 是否必填
alipayGoodsId string -
body string -
categoriesTree string -
goodsCategory string -
goodsId string -
goodsName string -
outItemId string -
outSkuId string -
price string -
quantity integer -
showUrl string -

HbFqPayInfo

1
2
3
4
{
    "fqAmount": "",
    "userInstallNum": ""
}
字段名 类型 描述 是否必填
fqAmount string -
userInstallNum string -

IntactChargeInfo

{
    "actualAmount": "",
    "billType": "",
    "gmtPay": "",
    "isRefund": false,
    "outBizNo": "",
    "planAmount": "",
    "productName": "",
    "serviceTarget": "",
    "serviceType": "",
    "status": "",
    "targetAccountNo": "",
    "targetUserId": ""
}
字段名 类型 描述 是否必填
actualAmount string -
billType string -
gmtPay string -
isRefund boolean -
outBizNo string -
planAmount string -
productName string -
serviceTarget string -
serviceType string -
status string -
targetAccountNo string -
targetUserId string -

PaymentInfoWithId

1
2
3
4
{
    "paymentIds": [],
    "type": ""
}
字段名 类型 描述 是否必填
paymentIds array -
type string -

PresetPayToolInfo

1
2
3
4
{
    "amount": [],
    "assertTypeCode": ""
}
字段名 类型 描述 是否必填
amount array -
assertTypeCode string -

RefundChargeInfo

{
    "chargeType": "",
    "refundChargeFee": "",
    "refundSubFeeDetailList": [
      {
          "refundChargeFee": "",
          "switchFeeRate": ""
      }
    ],
    "switchFeeRate": ""
}
字段名 类型 描述 是否必填
chargeType string -
refundChargeFee string -
refundSubFeeDetailList array -
switchFeeRate string -

RefundSubFee

1
2
3
4
{
    "refundChargeFee": "",
    "switchFeeRate": ""
}
字段名 类型 描述 是否必填
refundChargeFee string -
switchFeeRate string -

ReturnPageNotifyRequest

{
    "app_id": ""          // 应用ID,
    "auth_app_id": ""          // 授权应用ID,
    "charset": ""          // 字符集,
    "method": ""          // 接口名称,
    "out_trade_no": ""          // 商户订单号,
    "seller_id": ""          // 卖家支付宝用户号,
    "sign": ""          // 签名,
    "sign_type": ""          // 签名类型,
    "timestamp": ""          // 时间戳,
    "total_amount": ""          // 订单总金额,
    "trade_no": ""          // 支付宝交易号,
    "version": ""          // 接口版本
}
字段名 类型 描述 是否必填
app_id string 应用ID
auth_app_id string 授权应用ID
charset string 字符集
method string 接口名称
out_trade_no string 商户订单号
seller_id string 卖家支付宝用户号
sign string 签名
sign_type string 签名类型
timestamp string 时间戳
total_amount string 订单总金额
trade_no string 支付宝交易号
version string 接口版本

StringApiResponse

1
2
3
4
5
{
    "code": 200          // 状态码,
    "data": ""          // 响应数据,
    "error": ""          // 错误信息
}
字段名 类型 描述 是否必填
code integer 状态码
data string 响应数据
error string 错误信息

SubFee

1
2
3
4
5
{
    "chargeFee": "",
    "originalChargeFee": "",
    "switchFeeRate": ""
}
字段名 类型 描述 是否必填
chargeFee string -
originalChargeFee string -
switchFeeRate string -

TapPayInfo

1
2
3
{
    "paymentMediumType": ""
}
字段名 类型 描述 是否必填
paymentMediumType string -

TradeFundBill

1
2
3
4
5
6
7
{
    "amount": "",
    "bankCode": "",
    "fundChannel": "",
    "fundType": "",
    "realAmount": ""
}
字段名 类型 描述 是否必填
amount string -
bankCode string -
fundChannel string -
fundType string -
realAmount string -

TradeSettleDetail

{
    "amount": "",
    "operationDt": "",
    "operationSerialNo": "",
    "operationType": "",
    "oriTransIn": "",
    "oriTransOut": "",
    "transIn": "",
    "transOut": ""
}
字段名 类型 描述 是否必填
amount string -
operationDt string -
operationSerialNo string -
operationType string -
oriTransIn string -
oriTransOut string -
transIn string -
transOut string -

TradeSettleInfo

{
    "tradeSettleDetailList": [
      {
          "amount": "",
          "operationDt": "",
          "operationSerialNo": "",
          "operationType": "",
          "oriTransIn": "",
          "oriTransOut": "",
          "transIn": "",
          "transOut": ""
      }
    ],
    "tradeUnsettledAmount": ""
}
字段名 类型 描述 是否必填
tradeSettleDetailList array -
tradeUnsettledAmount string -

VoucherDetail

{
    "amount": "",
    "id": "",
    "memo": "",
    "merchantContribute": "",
    "name": "",
    "otherContribute": "",
    "otherContributeDetail": [
      {
          "contributeAmount": "",
          "contributeType": ""
      }
    ],
    "purchaseAntContribute": "",
    "purchaseBuyerContribute": "",
    "purchaseMerchantContribute": "",
    "templateId": "",
    "type": ""
}
字段名 类型 描述 是否必填
amount string -
id string -
memo string -
merchantContribute string -
name string -
otherContribute string -
otherContributeDetail array -
purchaseAntContribute string -
purchaseBuyerContribute string -
purchaseMerchantContribute string -
templateId string -
type string -

通用错误码

错误码 说明
200 成功