# 统一收单交易创建接口 - 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 AlipayTradeCreate
    {
        public static void Main(string[] args) 
        {
            // 初始化SDK
            IAopClient alipayClient = new DefaultAopClient(GetAlipayConfig());
            // 构造请求参数以调用接口
            AlipayTradeCreateRequest request = new AlipayTradeCreateRequest();
            AlipayTradeCreateModel model = new AlipayTradeCreateModel();
            
            // 设置商户订单号
            model.OutTradeNo = "20150320010101001";
            
            // 设置产品码
            model.ProductCode = "JSAPI_PAY";
            
            // 设置小程序支付中
            model.OpAppId = "2014072300007148";
            
            // 设置订单总金额
            model.TotalAmount = "88.88";
            
            // 设置业务扩展参数
            ExtendParams extendParams = new ExtendParams();
            extendParams.TradeComponentOrderId = "2023060801502300000008810000005657";
            model.ExtendParams = extendParams;
            
            // 设置可打折金额
            model.DiscountableAmount = "80.00";
            
            // 设置订单标题
            model.Subject = "Iphone6 16G";
            
            // 设置订单附加信息
            model.Body = "Iphone6 16G";
            
            // uid参数未来计划废弃，存量商户可继续使用，新商户请使用openid。请根据应用-开发配置-openid配置选择支持的字段。
            // model.BuyerId = "2088102146225135";
            
            // 设置买家支付宝用户唯一标识
            model.BuyerOpenId = "074a1CcTG1LelxKe4xQC0zgNdId0nxi95b5lsNpazWYoCo5";
            
            // 设置商户门店编号
            model.StoreId = "NJ_001";
            
            request.SetBizModel(model);
            // 第三方代调用模式下请设置app_auth_token
            // request.PutOtherTextParam("app_auth_token", "<-- 请填写应用授权令牌 -->");

            AlipayTradeCreateResponse response = alipayClient.Execute(request);

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

## 响应示例
### 正常示例
```json
{
    "alipay_trade_create_response": {
        "code": "10000",
        "msg": "Success",
        "out_trade_no": "20150423001001",
        "trade_no": "2015042321001004720200028594"
    },
    "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
```

### 异常示例
```json
{
    "alipay_trade_create_response": {
        "code": "20000",
        "msg": "Service Currently Unavailable",
        "sub_code": "isp.unknow-error",
        "sub_msg": "系统繁忙"
    },
    "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}
```

