接口说明
该接口是 签名数据准备接口,用于生成可信签名字符串(orderStr)。可信签名串中包含业务参数及商户身份信息,可防止数据被篡改,一般用于打开支付宝客户端。请在服务端执行支付宝SDK中sdkExecute方法,读取响应中的body()结果。
公共请求参数
| 参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
|---|
| app_id | String | 必选 | 32 | 支付宝分配给开发者的应用ID | 2014072300007148 |
| method | String | 必选 | 128 | 接口名称 | alipay.trade.agent.pay |
| format | String | 可选 | 40 | 仅支持JSON | JSON |
| charset | String | 必选 | 10 | 请求使用的编码格式,如utf-8,gbk,gb2312等 | utf-8 |
| sign_type | String | 必选 | 10 | 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 | RSA2 |
| sign | String | 必选 | 344 | 商户请求参数的签名串,详见签名 | 详见示例 |
| timestamp | String | 必选 | 19 | 发送请求的时间,格式”yyyy-MM-dd HH:mm” | 2014-07-24 03:07 |
| version | String | 必选 | 3 | 调用的接口版本,固定为:1.0 | 1.0 |
| notify_url | String | 可选 | 256 | 支付宝服务器主动通知商户服务器里指定的页面http/https路径。 | http://api.test.alipay.net/atinterface/receive_notify.htm |
| app_auth_token | String | 可选 | 40 | 详见应用授权概述 | |
| biz_content | String | 必选 | | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 | |
业务请求参数
| 参数 | 名称 | 是否必选 | 类型 | 描述 | 示例值 |
|---|
| prepay_id | 预下单ID | 必选 | string[1,512] | 预下单ID,通过请求alipay.trade.order.prepay接口获取预下单ID | MV91dHAucHJlb3JkZXJfMjAyNTA2MDRfMjA4ODg0MTAzMzUzMTQ0OF9YUDE1MjUwNjA0MDU1MDA2MDQzNTAyOTQwMDY5OTJfMzMwNzg2XzQyLTIwNzYxJDgq |
| agent_id | 智能体唯一标识 | 可选 | string[1,512] | 联系对应BD进行KYA申请后下发的智能体id | 2026000000010000 |
| cashier_scene | 收银台场景 | 可选 | string[1,64] | 收银台场景,在Agent支付标准版场景下固定填”appPay” | appPay |
常见请求示例
package com.java.sdk.demo;
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.AlipayConfig;
import com.alipay.api.response.AlipayTradeAgentPayResponse;
import com.alipay.api.request.AlipayTradeAgentPayRequest;
import com.alipay.api.domain.AlipayTradeAgentPayModel;
import com.alipay.api.FileItem;
import java.util.Base64;
import java.util.ArrayList;
import java.util.List;
public class AlipayTradeAgentPay {
public static void main(String[] args) throws AlipayApiException {
// 初始化SDK
AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
// 构造请求参数以调用接口
AlipayTradeAgentPayRequest request = new AlipayTradeAgentPayRequest();
AlipayTradeAgentPayModel model = new AlipayTradeAgentPayModel();
// 设置预下单ID
model.setPrepayId("MV91dHAucHJlb3JkZXJfMjAyNTA2MDRfMjA4ODg0MTAzMzUzMTQ0OF9YUDE1MjUwNjA0MDU1MDA2MDQzNTAyOTQwMDY5OTJfMzMwNzg2XzQyLTIwNzYxJDgq");
// 设置智能体唯一标识
model.setAgentId("2026000000010000");
// 设置收银台场景
model.setCashierScene("appPay");
request.setBizModel(model);
// 第三方代调用模式下请设置app_auth_token
// request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
AlipayTradeAgentPayResponse response = alipayClient.sdkExecute(request);
String orderStr = response.getBody();
System.out.println(orderStr);
if (response.isSuccess()) {
System.out.println("调用成功");
} else {
System.out.println("调用失败");
// sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
// String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
// System.out.println(diagnosisUrl);
}
}
private static AlipayConfig getAlipayConfig() {
String privateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->";
String alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->";
AlipayConfig alipayConfig = new AlipayConfig();
alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
alipayConfig.setAppId("<-- 请填写您的AppId,例如:2019091767145019 -->");
alipayConfig.setPrivateKey(privateKey);
alipayConfig.setFormat("json");
alipayConfig.setAlipayPublicKey(alipayPublicKey);
alipayConfig.setCharset("UTF-8");
alipayConfig.setSignType("RSA2");
return alipayConfig;
}
}
using System;
using System.Collections.Generic;
using Aop.Api;
using Aop.Api.Request;
using Aop.Api.Response;
using Aop.Api.Domain;
using Aop.Api.Util;
namespace SdkDemoTest
{
public class AlipayTradeAgentPay
{
public static void Main(string[] args)
{
// 初始化SDK
IAopClient alipayClient = new DefaultAopClient(GetAlipayConfig());
// 构造请求参数以调用接口
AlipayTradeAgentPayRequest request = new AlipayTradeAgentPayRequest();
AlipayTradeAgentPayModel model = new AlipayTradeAgentPayModel();
// 设置预下单ID
model.PrepayId = "MV91dHAucHJlb3JkZXJfMjAyNTA2MDRfMjA4ODg0MTAzMzUzMTQ0OF9YUDE1MjUwNjA0MDU1MDA2MDQzNTAyOTQwMDY5OTJfMzMwNzg2XzQyLTIwNzYxJDgq";
// 设置智能体唯一标识
model.AgentId = "2026000000010000";
// 设置收银台场景
model.CashierScene = "appPay";
request.SetBizModel(model);
// 第三方代调用模式下请设置app_auth_token
// request.PutOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");
AlipayTradeAgentPayResponse response = alipayClient.SdkExecute(request);
string orderStr = response.Body;
Console.WriteLine(orderStr);
if(!response.IsError)
{
Console.WriteLine("调用成功");
}
else
{
Console.WriteLine("调用失败");
}
}
private static AlipayConfig GetAlipayConfig()
{
string privateKey = "<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->";
string alipayPublicKey = "<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->";
AlipayConfig alipayConfig = new AlipayConfig();
alipayConfig.ServerUrl = "https://openapi.alipay.com/gateway.do";
alipayConfig.AppId = "<-- 请填写您的AppId,例如:2019091767145019 -->";
alipayConfig.PrivateKey = privateKey;
alipayConfig.Format = "json";
alipayConfig.AlipayPublicKey = alipayPublicKey;
alipayConfig.Charset = "UTF-8";
alipayConfig.SignType = "RSA2";
return alipayConfig;
}
}
}
<?php
require_once '../aop/AopClient.php';
require_once '../aop/AopCertClient.php';
require_once '../aop/AopCertification.php';
require_once '../aop/AlipayConfig.php';
require_once '../aop/request/AlipayTradeAgentPayRequest.php';
// 初始化SDK
$alipayClient = new AopClient(getAlipayConfig());
// 构造请求参数以调用接口
$request = new AlipayTradeAgentPayRequest();
$model = array();
// 设置预下单ID
$model['prepay_id'] = "MV91dHAucHJlb3JkZXJfMjAyNTA2MDRfMjA4ODg0MTAzMzUzMTQ0OF9YUDE1MjUwNjA0MDU1MDA2MDQzNTAyOTQwMDY5OTJfMzMwNzg2XzQyLTIwNzYxJDgq";
// 设置智能体唯一标识
$model['agent_id'] = "2026000000010000";
// 设置收银台场景
$model['cashier_scene'] = "appPay";
$request->setBizContent(json_encode($model,JSON_UNESCAPED_UNICODE));
// 如果是第三方代调用模式,请设置app_auth_token(应用授权令牌)
$orderStr = $alipayClient->sdkExecute($request, "<-- 请填写应用授权令牌 -->");
echo $orderStr;
function getAlipayConfig()
{
$privateKey = '<-- 请填写您的应用私钥,例如:MIIEvQIBADANB ... ... -->';
$alipayPublicKey = '<-- 请填写您的支付宝公钥,例如:MIIBIjANBg... -->';
$alipayConfig = new AlipayConfig();
$alipayConfig->setServerUrl('https://openapi.alipay.com/gateway.do');
$alipayConfig->setAppId('<-- 请填写您的AppId,例如:2019091767145019 -->');
$alipayConfig->setPrivateKey($privateKey);
$alipayConfig->setFormat('json');
$alipayConfig->setAlipayPublicKey($alipayPublicKey);
$alipayConfig->setCharset('UTF-8');
$alipayConfig->setSignType('RSA2');
return $alipayConfig;
}
公共响应参数
无公共响应参数
业务响应参数
| 参数 | 名称 | 是否必选 | 类型 | 描述 | 示例值 |
|---|
| orderStr | 签名字符串 | 必选 | string(16384) | 获取签名后的业务数据具体使用方法请参考移动端智能体支付 | 请参考响应示例 |
响应示例
app_id=2017060101317939&biz_content=%7B%22agent_id%22%3A%222026000000010000%22%2C%22agreement_no%22%3A%2220170322450983769228%22%2C%22user_token_type%22%3A%22encrypt_phone%22%2C%22agreement_sign_params%22%3A%22%22%2C%22user_token%22%3A%22bcb49fcWEFSDb6ed517449b6c9WDSDSDF13e9cba16b9aDGE32dd82%22%2C%22cashier_scene%22%3A%22appPay%22%2C%22prepay_id%22%3A%22MV91dHAucHJlb3JkZXJfMjAyNTA2MDRfMjA4ODg0MTAzMzUzMTQ0OF9YUDE1MjUwNjA0MDU1MDA2MDQzNTAyOTQwMDY5OTJfMzMwNzg2XzQyLTIwNzYxJDgq%22%7D&charset=UTF-8&format=json&method=alipay.trade.agent.pay&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&sign_type=RSA2×tamp=2014-07-24+03%3A07%3A50&version=1.0
公共错误码
前往查看
业务错误码
| 错误码 | 错误描述 | 解决方案 |
|---|
| SYSTEM_ERROR | 系统繁忙 | 服务器异常 可能发生了网络或者系统异常,导致服务调用失败,商户可以用同样的请求发起重试 |
| INVALID_PARAMETER | 参数有误 | 请根据接口返回的参数非法的具体错误信息,修改参数后进行重试 |
触发通知示例
<https://www.merchant.com/receive_notify.htm?notify_type=trade_status_sync¬ify_id=91722adff935e8cfa58b3aabf4dead6ibe¬ify_time=2017-02-16> 21:46:15&sign_type=RSA2&sign=WcO+t3D8Kg71dTlKwN7r9PzUOXeaBJwp8/FOuSxcuSkXsoVYxBpsAidprySCjHCjmaglNcjoKJQLJ28/Asl93joTW39FX6i07lXhnbPknezAlwmvPdnQuI01HZsZF9V1i6ggZjBiAd5lG8bZtTxZOJ87ub2i9GuJ3Nr/NUc9VeY=&trade_no=2013112011001004330000121536&gmt_create=2026-03-26 13:59:54&gmt_payment=2026-03-26 13:59:55&trade_action=PAY&passback_params={"uid":"1234567890"}&prepay_id=MV91dHAucHJlb3JkZXJfMjAyNTA2MDRfMjA4ODg0MTAzMzUzMTQ0OF9YUDE1MjUwNjA0MDU1MDA2MDQzNTAyOTQwMDY5OTJfMzMwNzg2XzQyLTIwNzYxJDg=&voucher_detail_list=[{"amount":"1.80","id":"XXXXXFRHC1","name":"立减1.8元","productCode":"DISCOUNT","templateId":"XXXXXXXJZN670","type":"DISCOUNT","vccExtendInfo":{"fundProvider":"MERCHANT","fundType":"BALANCE","camp_id":"XXXX"}}]&out_trade_no=131306007260350146021752339&total_fee=订单总金额&trade_status=TRADE_SUCCESS