智能体支付接口

更新时间:

接口说明

该接口是 签名数据准备接口,用于生成可信签名字符串(orderStr)。可信签名串中包含业务参数及商户身份信息,可防止数据被篡改,一般用于打开支付宝客户端。请在服务端执行支付宝SDK中sdkExecute方法,读取响应中的body()结果。

公共请求参数

参数类型是否必选最大长度描述示例值
app_idString必选32支付宝分配给开发者的应用ID2014072300007148
methodString必选128接口名称alipay.trade.agent.pay
formatString可选40仅支持JSONJSON
charsetString必选10请求使用的编码格式,如utf-8,gbk,gb2312等utf-8
sign_typeString必选10商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2RSA2
signString必选344商户请求参数的签名串,详见签名详见示例
timestampString必选19发送请求的时间,格式”yyyy-MM-dd HH:mm
2014-07-24 03:07
versionString必选3调用的接口版本,固定为:1.01.0
notify_urlString可选256支付宝服务器主动通知商户服务器里指定的页面http/https路径。http://api.test.alipay.net/atinterface/receive_notify.htm
app_auth_tokenString可选40详见应用授权概述
biz_contentString必选请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档

业务请求参数

参数名称是否必选类型描述示例值
prepay_id预下单ID必选string[1,512]预下单ID,通过请求alipay.trade.order.prepay接口获取预下单IDMV91dHAucHJlb3JkZXJfMjAyNTA2MDRfMjA4ODg0MTAzMzUzMTQ0OF9YUDE1MjUwNjA0MDU1MDA2MDQzNTAyOTQwMDY5OTJfMzMwNzg2XzQyLTIwNzYxJDgq
agent_id智能体唯一标识可选string[1,512]联系对应BD进行KYA申请后下发的智能体id2026000000010000
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&timestamp=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&notify_id=91722adff935e8cfa58b3aabf4dead6ibe&notify_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