BeeCloud.BCPay.BCCJBankCardTransfer C# (CSharp) Метод

BCCJBankCardTransfer() публичный статический Метод

public static BCCJBankCardTransfer ( BCCJTransferWithBackCard transfer ) : BCCJTransferWithBackCard
transfer BCCJTransferWithBackCard
Результат BCCJTransferWithBackCard
        public static BCCJTransferWithBackCard BCCJBankCardTransfer(BCCJTransferWithBackCard transfer)
        {
            string transferUrl = BCPrivateUtil.getHost() + BCConstants.version + BCConstants.cjtransferURL;
            long timestamp = BCUtil.GetTimeStamp(DateTime.Now);

            JsonData data = new JsonData();
            data["app_id"] = BCCache.Instance.appId;
            data["app_sign"] = BCPrivateUtil.getAppSignatureByMasterSecret(BCCache.Instance.appId, BCCache.Instance.masterSecret, timestamp.ToString());
            data["timestamp"] = timestamp;

            data["total_fee"] = transfer.totalFee;
            data["bill_no"] = transfer.billNo;
            data["title"] = transfer.title;
            data["bank_branch"] = transfer.bankBranch;
            data["bank_name"] = transfer.bankName;
            data["province"] = transfer.province;
            data["city"] = transfer.city;
            data["card_type"] = transfer.cardType;
            data["card_attribute"] = transfer.cardAttribute;
            data["bank_account_no"] = transfer.bankAccountNo;
            data["account_name"] = transfer.accountName;

            if (transfer.optional != null && transfer.optional.Count > 0)
            {
                data["optional"] = new JsonData();
                foreach (string key in transfer.optional.Keys)
                {
                    data["optional"][key] = transfer.optional[key];
                }
            }

            string paraString = data.ToJson();
            try
            {
                HttpWebResponse response = BCPrivateUtil.CreatePostHttpResponse(transferUrl, paraString, BCCache.Instance.networkTimeout);
                string respString = BCPrivateUtil.GetResponseString(response);
                JsonData responseData = JsonMapper.ToObject(respString);

                if (responseData["result_code"].ToString() == "0")
                {
                    transfer.id = responseData["id"].ToString();
                    return transfer;
                }
                else
                {
                    var ex = new BCException(responseData["err_detail"].ToString());
                    throw ex;
                }
            }
            catch (Exception e)
            {
                var ex = new BCException(e.Message);
                throw ex;
            }
        }