Files
juipnet/Infrastructure/ServiceClient/Alipay.AopSdk.Core/Request/AlipayTradeAppPayRequest.cs
wanyongkang d318014316 初始提交
2020-10-07 20:25:03 +08:00

147 lines
2.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using Alipay.AopSdk.Core.Domain;
using Alipay.AopSdk.Core.Response;
namespace Alipay.AopSdk.Core.Request
{
/// <summary>
/// AOP API: alipay.trade.app.pay
/// </summary>
public class AlipayTradeAppPayRequest : IAopRequest<AlipayTradeAppPayResponse>
{
/// <summary>
/// app支付接口2.0
/// </summary>
public string BizContent { get; set; }
#region IAopRequest Members
private bool needEncrypt;
private string apiVersion = "1.0";
private string terminalType;
private string terminalInfo;
private string prodCode;
private string notifyUrl;
private string returnUrl;
private AopObject bizModel;
public void SetNeedEncrypt(bool needEncrypt)
{
this.needEncrypt = needEncrypt;
}
public bool GetNeedEncrypt()
{
return needEncrypt;
}
public void SetNotifyUrl(string notifyUrl)
{
this.notifyUrl = notifyUrl;
}
public string GetNotifyUrl()
{
return notifyUrl;
}
public void SetReturnUrl(string returnUrl)
{
this.returnUrl = returnUrl;
}
public string GetReturnUrl()
{
return returnUrl;
}
public void SetTerminalType(string terminalType)
{
this.terminalType = terminalType;
}
public string GetTerminalType()
{
return terminalType;
}
public void SetTerminalInfo(string terminalInfo)
{
this.terminalInfo = terminalInfo;
}
public string GetTerminalInfo()
{
return terminalInfo;
}
public void SetProdCode(string prodCode)
{
this.prodCode = prodCode;
}
public string GetProdCode()
{
return prodCode;
}
public string GetApiName()
{
return "alipay.trade.app.pay";
}
public void SetApiVersion(string apiVersion)
{
this.apiVersion = apiVersion;
}
public string GetApiVersion()
{
return apiVersion;
}
public IDictionary<string, string> GetParameters()
{
var parameters = new AopDictionary();
parameters.Add("biz_content", BizContent);
return parameters;
}
public AopObject GetBizModel()
{
return bizModel;
}
public void SetBizModel(AopObject paramModel)
{
if (!(paramModel is AlipayTradeAppPayModel model))
{
throw new Exception("传入Model类型错误应为 AlipayTradeAppPayModel");
}
else
{
if (decimal.TryParse(model.TotalAmount, out var result))
{
if (model.TotalAmount.Contains("."))
{
var temp = model.TotalAmount.Split('.');
if (temp[1].Length > 2)
{
throw new ArgumentException("参数值不正确,小数位数不得大于两位", nameof(model.TotalAmount));
}
}
}
else
{
throw new ArgumentException("参数值不正确", nameof(model.TotalAmount));
}
}
this.bizModel = paramModel;
}
#endregion
}
}