using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ObjectModel.Config.HuaWei
{
public class InappPurchaseDetails
{
///
/// 消耗型商品或者非消耗型商品:固定为false。
///
public bool autoRenewing { get; set; }
///
/// 订单ID,唯一标识一笔需要收费的收据
///
public string orderId { get; set; }
///
/// 应用安装包名。
///
public string packageName { get; set; }
///
/// 应用ID。
///
public long applicationId { get; set; }
///
/// 应用ID
///
public string applicationIdString { get; set; }
///
/// 商品类别,取值包括
/// 0:消耗型商品 1:非消耗型商品 2:订阅型商品
///
public int kind { get; set; }
///
/// 商品ID。每种商品必须有唯一的ID
///
public string productId { get; set; }
///
/// 商品名称。
///
public string productName { get; set; }
///
/// 商品购买时间,UTC时间戳,以毫秒为单位
///
public long purchaseTime { get; set; }
///
/// 历史接口兼容用,同purchaseTime,新接入无需关注本字段。
///
public long purchaseTimeMillis { get; set; }
///
/// 订单交易状态。
/// -1:初始化 0:已购买 1:已取消 2:已撤销或已退款 3:待处理
///
public int purchaseState { get; set; }
///
/// 商户侧保留信息,由您在调用支付接口时传入
///
public string developerPayload { get; set; }
///
/// 用于唯一标识商品和用户对应关系的购买令牌,在支付完成时由华为应用内支付服务器生成。
///
public string purchaseToken { get; set; }
///
/// 消耗状态,仅一次性商品存在,取值包括 0:未消耗 1:已消耗
///
public int consumptionState { get; set; }
///
/// 确认状态,取值包括 0 :未确认 1:已确认
///
public int confirmed { get; set; }
///
/// 购买类型。 0:沙盒环境
///
public int purchaseType { get; set; }
///
/// 定价货币的币种 CNY
///
public string currency { get; set; }
///
/// 商品实际价格*100以后的值
///
public long price { get; set; }
///
/// 国家/地区码
///
public string country { get; set; }
///
/// 交易单号,用户支付成功后生成
///
public string payOrderId { get; set; }
///
/// 支付方式,
///
public string payType { get; set; }
///
///
///
public string sdkChannel { get; set; }
///
/// 购买的商品是否数据合格
///
/// true合格,false不合格
public bool IsOk(string id)
{
bool b = false;
b = id == productId;
if (!b) return b;
b = purchaseState == 0;
if (!b) return b;
b = consumptionState == 0;
if (!b) return b;
b = confirmed == 0;
if (!b) return b;
return b;
}
public override string ToString()
{
return $"id:{productId},name:{productName},price:{price},orderid:{orderId}";
}
}
}