namespace Cute;

public class PaymentStartTask : NetworkTask
{
	private CuteNetworkDefine.ApiType apiType = CuteNetworkDefine.ApiType.PaymentStart;

	public PaymentBase.RefundWarningType NeedRefundWarningType { get; private set; }

	public override string Url => $"{CustomPreference.GetApplicationServerURL()}{CuteNetworkDefine.ApiUrlList[apiType]}";

	public void SetParameter(PaymentSkuInfo skuInfo, bool isAlertAgree, bool isAlertActive)
	{
		PaymentStartCancelParams paymentStartCancelParams = new PaymentStartCancelParams();
		paymentStartCancelParams.payment.product_id = skuInfo.productId;
		paymentStartCancelParams.payment.currency_code = skuInfo.currencyCode;
		paymentStartCancelParams.payment.price = skuInfo.price;
		paymentStartCancelParams.payment.isalertagree = (isAlertAgree ? 1 : 0);
		paymentStartCancelParams.payment.isalertactive = (isAlertActive ? 1 : 0);
		base.Params = paymentStartCancelParams;
	}

	protected override int Parse()
	{
		int num = base.Parse();
		if (num != 1)
		{
			return num;
		}
		NeedRefundWarningType = (PaymentBase.RefundWarningType)base.ResponseData["data"]["refund_penalty_type"].ToInt();
		return num;
	}
}
