﻿## 接口说明

接口名称：`alipay.trade.app.pay`

该接口用于生成可信签名字符串 `orderStr`。可信签名串中包含业务参数及商户身份信息，可防止数据被篡改，一般用于打开支付宝客户端。

外部商户 App 可通过该接口唤起快捷 SDK 创建订单并支付。

## 公共请求参数

| 参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
| --- | --- | --- | --- | --- | --- |
| `app_id` | String | 必选 | 32 | 支付宝分配给开发者的应用 ID | `2014072300007148` |
| `method` | String | 必选 | 128 | 接口名称 | `alipay.trade.app.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 | 商户请求参数的签名串，详见[签名](https://ideservice.alipay.com/cms/site/02khjm) | 详见示例 |
| `timestamp` | String | 必选 | 19 | 发送请求的时间，格式为 `yyyy-MM-dd HH:mm:ss` | `2014-07-24 03:07:50` |
| `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 | 详见[应用授权概述](https://ideservice.alipay.com/cms/site/04h2nx) | - |
| `biz_content` | String | 必选 | - | 请求参数集合。除公共参数外，所有请求参数都必须放在该参数中传递，具体参照各产品快速接入文档 | - |

## 业务请求参数

| 参数 | 类型 | 是否必选 | 最大长度 | 描述 | 注意事项/枚举值 | 示例值 |
| --- | --- | --- | --- | --- | --- | --- |
| `out_trade_no` | string | 必选 | 64 | 商户网站唯一订单号 | 由商家自定义，仅支持字母、数字、下划线，需保证在商户端不重复 | `70501111111S001111119` |
| `total_amount` | string | 必选 | 9 | 订单总金额，单位为元，精确到小数点后两位 | 取值范围 `[0.01,100000000]`，金额不能为 0 | `9.00` |
| `subject` | string | 必选 | 256 | 订单标题 | 不可使用特殊字符，如 `/`、`=`、`&` 等 | `大乐透` |
| `product_code` | string | 可选 | 64 | 销售产品码，商家和支付宝签约的产品码 | App 支付常用值为 `QUICK_MSECURITY_PAY` | `QUICK_MSECURITY_PAY` |
| `goods_detail` | GoodsDetail[] | 可选 | - | 订单包含的商品列表信息，JSON 格式 | 其他说明详见商品明细说明 | - |
| `goods_detail[].goods_id` | string | 必选 | 32 | 商品编号 | - | `apple-01` |
| `goods_detail[].goods_name` | string | 必选 | 256 | 商品名称 | - | `ipad` |
| `goods_detail[].quantity` | number | 必选 | 32 | 商品数量 | - | `1` |
| `goods_detail[].price` | price | 必选 | 9 | 商品单价，单位为元 | - | `2000` |
| `goods_detail[].alipay_goods_id` | string | 可选 | 32 | 支付宝定义的统一商品编号 | - | `20010001` |
| `goods_detail[].goods_category` | string | 可选 | 24 | 商品类目 | - | `34543238` |
| `goods_detail[].categories_tree` | string | 可选 | 128 | 商品类目树 | 从商品类目根节点到叶子节点的类目 ID 组成，类目 ID 值使用 `|` 分割 | `124868003\|126232002\|126252004` |
| `goods_detail[].show_url` | string | 可选 | 400 | 商品的展示地址 | - | `http://www.alipay.com/xxx.jpg` |
| `time_expire` | string | 可选 | 32 | 绝对超时时间 | 格式为 `yyyy-MM-dd HH:mm:ss` | `2016-12-31 10:05:00` |
| `extend_params` | ExtendParams | 可选 | - | 业务扩展参数 | - | - |

## 请求示例

::::aipay-tabs{defaultActiveKey="Java"}
:::aipay-tab{key="Java" title="Java"}
```java
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.request.AlipayTradeAppPayRequest;
import com.alipay.api.domain.ExtUserInfo;
import com.alipay.api.domain.AlipayTradeAppPayModel;
import com.alipay.api.response.AlipayTradeAppPayResponse;
import com.alipay.api.domain.ExtendParams;
import com.alipay.api.domain.GoodsDetail;

import com.alipay.api.FileItem;
import java.util.Base64;
import java.util.ArrayList;
import java.util.List;

public class AlipayTradeAppPay {

    public static void main(String[] args) throws AlipayApiException {
        // 初始化SDK
        AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());

        // 构造请求参数以调用接口
        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
        
        // 设置商户订单号
        model.setOutTradeNo("70501111111S001111119");
        
        // 设置订单总金额
        model.setTotalAmount("9.00");
        
        // 设置订单标题
        model.setSubject("大乐透");
        
        // 设置产品码
        model.setProductCode("QUICK_MSECURITY_PAY");
        
        // 设置订单包含的商品列表信息
        List<GoodsDetail> goodsDetail = new ArrayList<GoodsDetail>();
        GoodsDetail goodsDetail0 = new GoodsDetail();
        goodsDetail0.setGoodsName("ipad");
        goodsDetail0.setAlipayGoodsId("20010001");
        goodsDetail0.setQuantity(1L);
        goodsDetail0.setPrice("2000");
        goodsDetail0.setGoodsId("apple-01");
        goodsDetail0.setGoodsCategory("34543238");
        goodsDetail0.setCategoriesTree("124868003|126232002|126252004");
        goodsDetail0.setShowUrl("http://www.alipay.com/xxx.jpg");
        goodsDetail.add(goodsDetail0);
        model.setGoodsDetail(goodsDetail);
        
        // 设置订单绝对超时时间
        model.setTimeExpire("2016-12-31 10:05:00");
        
        // 设置业务扩展参数
        ExtendParams extendParams = new ExtendParams();
        extendParams.setSysServiceProviderId("2088511833207846");
        extendParams.setHbFqSellerPercent("100");
        extendParams.setHbFqNum("3");
        extendParams.setIndustryRefluxInfo("{\"scene_code\":\"metro_tradeorder\",\"channel\":\"xxxx\",\"scene_data\":{\"asset_name\":\"ALIPAY\"}}");
        extendParams.setRoyaltyFreeze("true");
        extendParams.setCardType("S0JP0000");
        model.setExtendParams(extendParams);
        
        // 设置公用回传参数
        model.setPassbackParams("merchantBizType%3d3C%26merchantBizNo%3d2016010101111");
        
        // 设置商户的原始订单号
        model.setMerchantOrderNo("20161008001");
        
        // 设置外部指定买家
        ExtUserInfo extUserInfo = new ExtUserInfo();
        extUserInfo.setCertType("IDENTITY_CARD");
        extUserInfo.setCertNo("362334768769238881");
        extUserInfo.setMobile("16587658765");
        extUserInfo.setName("李明");
        extUserInfo.setMinAge("18");
        extUserInfo.setNeedCheckInfo("F");
        extUserInfo.setIdentityHash("27bfcd1dee4f22c8fe8a2374af9b660419d1361b1c207e9b41a754a113f38fcc");
        model.setExtUserInfo(extUserInfo);
        
        // 设置通知参数选项
        List<String> queryOptions = new ArrayList<String>();
        queryOptions.add("hyb_amount");
        queryOptions.add("enterprise_pay_info");
        model.setQueryOptions(queryOptions);
        
        request.setBizModel(model);
        // 第三方代调用模式下请设置app_auth_token
        // request.putOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");

        AlipayTradeAppPayResponse 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;
    }
}
```
:::

:::aipay-tab{key="C#" title="C#"}
```csharp
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 AlipayTradeAppPay
    {
        public static void Main(string[] args) 
        {
            // 初始化SDK
            IAopClient alipayClient = new DefaultAopClient(GetAlipayConfig());
            // 构造请求参数以调用接口
            AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
            AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
            
            // 设置商户订单号
            model.OutTradeNo = "70501111111S001111119";
            
            // 设置订单总金额
            model.TotalAmount = "9.00";
            
            // 设置订单标题
            model.Subject = "大乐透";
            
            // 设置产品码
            model.ProductCode = "QUICK_MSECURITY_PAY";
            
            // 设置订单包含的商品列表信息
            List<GoodsDetail> goodsDetail = new List<GoodsDetail>();
            GoodsDetail goodsDetail0 = new GoodsDetail();
            goodsDetail0.GoodsName = "ipad";
            goodsDetail0.AlipayGoodsId = "20010001";
            goodsDetail0.Quantity = 1;
            goodsDetail0.Price = "2000";
            goodsDetail0.GoodsId = "apple-01";
            goodsDetail0.GoodsCategory = "34543238";
            goodsDetail0.CategoriesTree = "124868003|126232002|126252004";
            goodsDetail0.ShowUrl = "http://www.alipay.com/xxx.jpg";
            goodsDetail.Add(goodsDetail0);
            model.GoodsDetail = goodsDetail;
            
            // 设置订单绝对超时时间
            model.TimeExpire = "2016-12-31 10:05:00";
            
            // 设置业务扩展参数
            ExtendParams extendParams = new ExtendParams();
            extendParams.SysServiceProviderId = "2088511833207846";
            extendParams.HbFqSellerPercent = "100";
            extendParams.HbFqNum = "3";
            extendParams.IndustryRefluxInfo = "{\"scene_code\":\"metro_tradeorder\",\"channel\":\"xxxx\",\"scene_data\":{\"asset_name\":\"ALIPAY\"}}";
            extendParams.RoyaltyFreeze = "true";
            extendParams.CardType = "S0JP0000";
            model.ExtendParams = extendParams;
            
            // 设置公用回传参数
            model.PassbackParams = "merchantBizType%3d3C%26merchantBizNo%3d2016010101111";
            
            // 设置商户的原始订单号
            model.MerchantOrderNo = "20161008001";
            
            // 设置外部指定买家
            ExtUserInfo extUserInfo = new ExtUserInfo();
            extUserInfo.CertType = "IDENTITY_CARD";
            extUserInfo.CertNo = "362334768769238881";
            extUserInfo.Mobile = "16587658765";
            extUserInfo.Name = "李明";
            extUserInfo.MinAge = "18";
            extUserInfo.NeedCheckInfo = "F";
            extUserInfo.IdentityHash = "27bfcd1dee4f22c8fe8a2374af9b660419d1361b1c207e9b41a754a113f38fcc";
            model.ExtUserInfo = extUserInfo;
            
            // 设置通知参数选项
            List<String> queryOptions = new List<String>();
            queryOptions.Add("hyb_amount");
            queryOptions.Add("enterprise_pay_info");
            model.QueryOptions = queryOptions;
            
            request.SetBizModel(model);
            // 第三方代调用模式下请设置app_auth_token
            // request.PutOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");

            AlipayTradeAppPayResponse 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;
        }
    }
}
```
:::

:::aipay-tab{key="PHP" title="PHP"}
```php
<?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/AlipayTradeAppPayRequest.php';

// 初始化SDK
$alipayClient = new AopClient(getAlipayConfig());
// 构造请求参数以调用接口
$request = new AlipayTradeAppPayRequest();
$model = array();

// 设置商户订单号
$model['out_trade_no'] = "70501111111S001111119";

// 设置订单总金额
$model['total_amount'] = "9.00";

// 设置订单标题
$model['subject'] = "大乐透";

// 设置产品码
$model['product_code'] = "QUICK_MSECURITY_PAY";

// 设置订单包含的商品列表信息
$goodsDetail = array();
$goodsDetail0 = array();
$goodsDetail0['goods_name'] = "ipad";
$goodsDetail0['alipay_goods_id'] = "20010001";
$goodsDetail0['quantity'] = 1;
$goodsDetail0['price'] = "2000";
$goodsDetail0['goods_id'] = "apple-01";
$goodsDetail0['goods_category'] = "34543238";
$goodsDetail0['categories_tree'] = "124868003|126232002|126252004";
$goodsDetail0['show_url'] = "http://www.alipay.com/xxx.jpg";
$goodsDetail[] = $goodsDetail0;
$model['goods_detail'] = $goodsDetail;

// 设置订单绝对超时时间
$model['time_expire'] = "2016-12-31 10:05:00";

// 设置业务扩展参数
$extendParams = array();
$extendParams['sys_service_provider_id'] = "2088511833207846";
$extendParams['hb_fq_seller_percent'] = "100";
$extendParams['hb_fq_num'] = "3";
$extendParams['industry_reflux_info'] = "{\"scene_code\":\"metro_tradeorder\",\"channel\":\"xxxx\",\"scene_data\":{\"asset_name\":\"ALIPAY\"}}";
$extendParams['royalty_freeze'] = "true";
$extendParams['card_type'] = "S0JP0000";
$model['extend_params'] = $extendParams;

// 设置公用回传参数
$model['passback_params'] = "merchantBizType%3d3C%26merchantBizNo%3d2016010101111";

// 设置商户的原始订单号
$model['merchant_order_no'] = "20161008001";

// 设置外部指定买家
$extUserInfo = array();
$extUserInfo['cert_type'] = "IDENTITY_CARD";
$extUserInfo['cert_no'] = "362334768769238881";
$extUserInfo['mobile'] = "16587658765";
$extUserInfo['name'] = "李明";
$extUserInfo['min_age'] = "18";
$extUserInfo['need_check_info'] = "F";
$extUserInfo['identity_hash'] = "27bfcd1dee4f22c8fe8a2374af9b660419d1361b1c207e9b41a754a113f38fcc";
$model['ext_user_info'] = $extUserInfo;

// 设置通知参数选项
$queryOptions = array();
$queryOptions[] = "hyb_amount";
$queryOptions[] = "enterprise_pay_info";
$model['query_options'] = $queryOptions;

$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;
}
```
:::

:::aipay-tab{key="Node.js" title="Node.js"}
```javascript
const { AlipaySdk } = require("alipay-sdk");

const alipaySdk = new AlipaySdk({
  appId: "<-- 请填写您的AppId，例如：2019091767145019 -->",
  privateKey: "<-- 请填写您的应用私钥，例如：MIIEvQIBADANB ... ... -->",
  alipayPublicKey: "<-- 请填写您的支付宝公钥，例如：MIIBIjANBg... -->",
  gateway: "https://openapi.alipay.com/gateway.do",
  appAuthToken: "<-- 请填写应用授权令牌 -->",
});
const result = await alipaySdk.sdkExec("alipay.trade.app.pay", {
  bizContent: {
    out_trade_no: "70501111111S001111119",
    total_amount: "9.00",
    subject: "大乐透",
    product_code: "QUICK_MSECURITY_PAY",
    goods_detail: [
      {
        goods_name: "ipad",
        alipay_goods_id: "20010001",
        quantity: 1,
        price: "2000",
        goods_id: "apple-01",
        goods_category: "34543238",
        categories_tree: "124868003|126232002|126252004",
        show_url: "http://www.alipay.com/xxx.jpg",
      },
    ],
    time_expire: "2016-12-31+10:05:00",
    extend_params: {
      sys_service_provider_id: "2088511833207846",
      hb_fq_seller_percent: "100",
      hb_fq_num: "3",
      industry_reflux_info:
        '{\\"scene_code\\":\\"metro_tradeorder\\",\\"channel\\":\\"xxxx\\",\\"scene_data\\":{\\"asset_name\\":\\"ALIPAY\\"}}',
      royalty_freeze: "true",
      card_type: "S0JP0000",
    },
    passback_params: "merchantBizType%3d3C%26merchantBizNo%3d2016010101111",
    merchant_order_no: "20161008001",
    ext_user_info: {
      cert_type: "IDENTITY_CARD",
      cert_no: "362334768769238881",
      mobile: "16587658765",
      name: "李明",
      min_age: "18",
      need_check_info: "F",
      identity_hash:
        "27bfcd1dee4f22c8fe8a2374af9b660419d1361b1c207e9b41a754a113f38fcc",
    },
    query_options: ["hyb_amount", "enterprise_pay_info"],
  },
});

```
:::

::::

## 公共响应参数

| 参数 | 类型 | 是否必选 | 描述 | 示例值 |
| :--- | :--- | :--- | :--- | :--- |
| code | String | 必选 | 网关返回码，[详见文档](https://opendoc.alipay.com/common/02km9f) | 40004 |
| msg | String | 必选 | 网关返回码描述，[详见文档](https://opendoc.alipay.com/common/02km9f) | Business Failed |
| sub_code | String | 可选 | 业务返回码，参见具体的 API 接口文档 | ACQ.TRADE_HAS_SUCCESS |
| sub_msg | String | 可选 | 业务返回码描述，参见具体的 API 接口文档 | 交易已被支付 |
| sign | String | 必选 | 签名，[详见文档](https://opendoc.alipay.com/common/02kf5q) | DZXh8eeTuAHoYE3w1J... |

## 业务响应参数

| 参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
| --- | --- | --- | --- | --- | --- |
| `orderStr` | string | 必选 | 16384 | 签名字符串。获取签名后的业务数据，具体使用方法请参考[接入指南](https://ideservice.alipay.com/cms/site/01dcc0?pathHash=cf89b2be) | 请参考响应示例 |

## 响应示例

### 正常示例

```text
app_id=2017060101317939&biz_content=%7B%22time_expire%22%3A%222016-12-31+10%3A05%3A00%22%2C%22extend_params%22%3A%22%22%2C%22query_options%22%3A%22%5B%5C%22hyb_amount%5C%22%2C%5C%22enterprise_pay_info%5C%22%5D%22%2C%22subject%22%3A%22%E5%A4%A7%E4%B9%90%E9%80%8F%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%2C%22body%22%3A%22Iphone6+16G%22%2C%22passback_params%22%3A%22merchantBizType%253d3C%2526merchantBizNo%253d2016010101111%22%2C%22specified_channel%22%3A%22pcredit%22%2C%22goods_detail%22%3A%22%22%2C%22merchant_order_no%22%3A%2220161008001%22%2C%22enable_pay_channels%22%3A%22pcredit%2CmoneyFund%2CdebitCardExpress%22%2C%22out_trade_no%22%3A%2270501111111S001111119%22%2C%22ext_user_info%22%3A%22%22%2C%22total_amount%22%3A%229.00%22%2C%22timeout_express%22%3A%2290m%22%2C%22disable_pay_channels%22%3A%22pcredit%2CmoneyFund%2CdebitCardExpress%22%2C%22agreement_sign_params%22%3A%22%22%7D&charset=UTF-8&format=json&method=alipay.trade.app.pay&sign=ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE&sign_type=RSA2&timestamp=2014-07-24+03%3A07%3A50&version=1.0
```

## 公共错误码

[前往查看公共错误码](https://ideservice.alipay.com/cms/site/02km9f)

## 业务错误码

| 错误码 | 错误描述 | 解决方案 |
| --- | --- | --- |
| `ACQ.ACCESS_FORBIDDEN` | 无权限使用接口 | 联系支付宝小二签约 |
| `ACQ.BUYER_ENABLE_STATUS_FORBID` | 买家状态非法 | 用户联系支付宝小二，确认买家状态非法原因 |
| `ACQ.BUYER_SELLER_EQUAL` | 买卖家不能相同 | 更换买家重新付款 |
| `ACQ.CONTEXT_INCONSISTENT` | 交易信息被篡改 | 确认该笔交易信息是否为当前买家的已存订单。如果是，则认为本次请求参数与已存交易不一致；如果不是，请更换商家订单号后重新发起请求 |
| `ACQ.EXIST_FORBIDDEN_WORD` | 订单信息中包含违禁词 | 修改订单信息后重新发起请求 |
| `ACQ.INVALID_PARAMETER` | 参数无效 | 若存在参数无效具体错误信息描述，请参考描述检查请求参数后重新发起 |
| `ACQ.PARTNER_ERROR` | 应用 `APP_ID` 填写错误 | 联系支付宝小二，确认 `APP_ID` 的状态 |
| `ACQ.RISK_MERCHANT_IP_NOT_EXIST` | 当前交易未传入 IP 信息，创单失败 | 检查请求参数是否已经传入用户 IP 信息 |
| `ACQ.SELLER_BEEN_BLOCKED` | 商家账号被冻结 | 联系支付宝小二解冻账号 |
| `ACQ.SYSTEM_ERROR` | 接口返回错误 | 请立即调用查询订单 API，查询当前订单状态，并根据订单状态决定下一步操作 |
| `ACQ.TOTAL_FEE_EXCEED` | 订单总金额不在允许范围内 | 修改订单金额后再发起请求 |
| `ACQ.TRADE_BUYER_NOT_MATCH` | 交易买家不匹配 | 该笔交易已经在支付宝端创建，但请求买家与已存交易中的买家不一致。请确认本次请求是否与已存交易有关；若为同一笔交易，只能用原始买家付款；若无关，请更换商家订单号后重新发起请求 |
| `ACQ.TRADE_HAS_CLOSE` | 交易已经关闭 | 确认该笔交易信息是否为当前买家的已存订单。如果是，则认为交易已经关闭；如果不是，请更换商家订单号后重新发起请求 |
| `ACQ.TRADE_HAS_SUCCESS` | 交易已被支付 | 确认该笔交易信息是否为当前买家的订单。如果是，则认为交易付款成功；如果不是，请更换商家订单号后重新发起请求 |

## 触发通知类型

| 通知类型 | 描述 | 默认开启 |
| --- | --- | --- |
| `tradeStatus.TRADE_CLOSED` | 交易关闭 | `1` |
| `tradeStatus.TRADE_FINISHED` | 交易完结 | `1` |
| `tradeStatus.TRADE_SUCCESS` | 支付成功 | `1` |
| `tradeStatus.WAIT_BUYER_PAY` | 交易创建 | `0` |

## 触发通知示例

```text
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=&passback_params=null&body=null&subject=null&refund_fee=null&total_amount=null&trade_status=null&seller_id=null&out_trade_no=null&app_id=null&trade_no=null&buyer_open_id=074a1CcTG1LelxKe4xQC0zgNdId0nxi95b5lsNpazWYoCo5&out_channel_type=null&gmt_payment=null&gmt_create=null&gmt_close=null&gmt_refund=null&merchant_app_id=2088102146225135&out_biz_no=null&seller_email=null&buyer_logon_id=null&voucher_detail_list=null&point_amount=null&buyer_pay_amount=null&invoice_amount=null&receipt_amount=null&fund_bill_list=[{"amount":"50.00","fundChannel":"ALIPAYACCOUNT"}]&buyer_id=null&notify_action_type=payByAccountAction/closeTradeAction/reverseAction/finishFPAction/confirmDisburseAction/financingReceiptAction&current_seller_received_amount=88.88&seller_received_total_amount=88.88&total_from_seller_fee=88.88&ff_current_period=1&discount_amount=88.88&charge_amount=8.88&charge_flags=bluesea_1&settlement_id=2018101610032004620239146945&industry_sepc_detail={"registration_order_pay":{"brlx":"1","cblx":"1"}}&industry_sepc_detail_acc={"registration_order_pay":{"brlx":"1","cblx":"1"}}&industry_sepc_detail_gov={"registration_order_pay":{"brlx":"1","cblx":"1"}}&discount_goods_detail="[{\"goodsId\":\"STANDARD1026181538\",\"goodsName\":\"雪碧\",\"discountAmount\":\"10.00\"}]"&mdiscount_amount=88.88&hb_fq_pay_info={"USER_INSTALL_NUM":"3"}&receipt_currency_type=DC&enterprise_pay_info={"invoice_amount":"28.00","is_use_enterprise_pay":"true"}&hyb_amount=10.24&charge_info_list=[{"charge_fee":"0.01","original_charge_fee":"0.02","switch_fee_rate":"0.03","is_rating_on_trade_receiver":"Y","is_rating_on_switch":"Y"}]&medical_insurance_info={"medicareCardType":"1","medicareCardHolderHiddenName":"**专"}&credit_pay_mode=creditAdvanceV2&buyer_charge_amt=1.00&fulfillment_amount=10.24&cashier_type=APP&refund_voucher_detail_list=[{"amount":"0.10","merchantContribute":"0.00","name":"工具立减_固定金额","otherContribute":"0.10","type":"DISCOUNT","voucherId":"20241207000730027708000CRGZP"}]
```
