public static BCSubscription querySubscriptionByID(string id)
{
long timestamp = BCUtil.GetTimeStamp(DateTime.Now);
string subscriptionURL = BCPrivateUtil.getHost() + BCConstants.version + BCConstants.bcsubscriptionURL + "/" + id;
subscriptionURL += "?app_id=" + BCCache.Instance.appId + "&app_sign=" + BCPrivateUtil.getAppSignature(BCCache.Instance.appId, BCCache.Instance.appSecret, timestamp.ToString()) + "×tamp=" + timestamp;
try
{
HttpWebResponse response = BCPrivateUtil.CreateGetHttpResponse(subscriptionURL, BCCache.Instance.networkTimeout);
string respString = BCPrivateUtil.GetResponseString(response);
JsonData responseData = JsonMapper.ToObject(respString);
if (responseData["result_code"].ToString() == "0")
{
BCSubscription sub = new BCSubscription();
sub.ID = responseData["subscription"]["id"].ToString();
sub.buyerID = responseData["subscription"]["buyer_id"].ToString();
sub.planID = responseData["subscription"]["plan_id"].ToString();
sub.cardID = responseData["subscription"]["card_id"].ToString();
sub.bankName = responseData["subscription"]["bank_name"].ToString();
sub.IDName = responseData["subscription"]["id_name"].ToString();
sub.IDNo = responseData["subscription"]["id_no"].ToString();
sub.mobile = responseData["subscription"]["mobile"].ToString();
sub.amount = (double)responseData["subscription"]["amount"];
sub.couponID = responseData["subscription"]["coupon_id"].ToString();
sub.trialEnd = (long)responseData["subscription"]["trial_end"];
sub.optional = JsonMapper.ToObject<Dictionary<string, string>>(responseData["subscription"]["optional"].ToJson().ToString());
sub.last4 = responseData["subscription"]["last4"].ToString();
sub.status = responseData["subscription"]["status"].ToString();
sub.valid = (bool)responseData["subscription"]["valid"];
sub.cancelAtPeriodEnd = (bool)responseData["subscription"]["cancel_at_period_end"];
return sub;
}
else
{
var ex = new BCException(responseData["err_detail"].ToString());
throw ex;
}
}
catch (Exception e)
{
var ex = new BCException(e.Message);
throw ex;
}
}