protected void Page_Load(object sender, EventArgs e)
 {
     string cardNo = Request.Form["cardNo"];
     string expire = Request.Form["expire"];
     string cvv = Request.Form["cvv"];
     string firstName = Request.Form["firstName"];
     string lastName = Request.Form["lastName"];
     string cardType = Request.Form["cardType"];
     BCCreditCardInfo info = new BCCreditCardInfo();
     info.card_number = cardNo;
     info.expire_month = int.Parse(expire.Split('-')[1]);
     info.expire_year = int.Parse(expire.Split('-')[0]);
     info.cvv = int.Parse(cvv);
     info.first_name = firstName;
     info.last_name = lastName;
     info.card_type = cardType;
     BCInternationlBill bill = new BCInternationlBill(BCPay.InternationalPay.PAYPAL_CREDITCARD.ToString(), 1, BCUtil.GetUUID(), "dotnet paypal", "USD");
     bill.info = info;
     try
     {
         bill = BCPay.BCInternationalPay(bill);
         Response.Write("<span style='color:#00CD00;font-size:20px'>" + bill.creditCardId + "</span><br/>");
     }
     catch (Exception excption)
     {
         Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>");
     }
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     BCInternationlBill bill = new BCInternationlBill(BCPay.InternationalPay.PAYPAL_PAYPAL.ToString(), 1, BCUtil.GetUUID(), "dotnet paypal", "USD");
     bill.returnUrl = "http://localhost:50003/paypal/return_paypal_url.aspx";
     try
     {
         bill = BCPay.BCInternationalPay(bill);
         Response.Write("<a href=" + bill.url + ">付款地址</a><br/>");
     }
     catch (Exception excption)
     {
         Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>");
     }
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     //这里填入你在信用卡付款后获得的信用卡id。
     BCInternationlBill bill = new BCInternationlBill(BCPay.InternationalPay.PAYPAL_SAVED_CREDITCARD.ToString(), 1, BCUtil.GetUUID(), "dotnet paypal", "USD");
     bill.creditCardId = "CARD-1K997489XXXXXXXXXXXXXXX";
     try
     {
         bill = BCPay.BCInternationalPay(bill);
         Response.Write("<span style='color:#00CD00;font-size:20px'>" + "成功" + "</span><br/>");
     }
     catch (Exception excption)
     {
         Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>");
     }
 }
Beispiel #4
0
        /// <summary>
        /// 境外支付
        /// </summary>
        /// <param name="channel">渠道类型
        ///     enum InternationalPay提供了三个境外支付渠道类型,分别是:
        ///     PAYPAL_PAYPAL : 跳转到paypal使用paypal内支付
        ///     PAYPAL_CREDITCARD : 直接使用信用卡支付(paypal渠道)
        ///     PAYPAL_SAVED_CREDITCARD : 使用存储的行用卡id支付(信用卡信息存储在PAYPAL)
        /// </param>
        /// <param name="totalFee">订单总金额
        ///     只能为整数,单位为分
        ///     必填
        /// </param>
        /// <param name="billNo">商户订单号
        ///     32个字符内,数字和/或字母组合,确保在商户系统中唯一(即所有渠道所有订单号不同)
        ///     必填
        /// </param>
        /// <param name="title">订单标题
        ///     32个字节内,最长支持16个汉字
        ///     必填
        /// </param>
        /// <param name="currency">三位货币种类代码
        ///     必填
        ///     类型如下:
        ///         Australian dollar	AUD
        ///         Brazilian real**	BRL
        ///         Canadian dollar	    CAD
        ///         Czech koruna	    CZK
        ///         Danish krone	    DKK
        ///         Euro	            EUR
        ///         Hong Kong dollar	HKD
        ///         Hungarian forint	HUF
        ///         Israeli new shekel	ILS
        ///         Japanese yen	    JPY
        ///         Malaysian ringgit	MYR
        ///         Mexican peso	    MXN
        ///         New Taiwan dollar	TWD
        ///         New Zealand dollar	NZD
        ///         Norwegian krone	    NOK
        ///         Philippine peso	    PHP
        ///         Polish złoty	    PLN
        ///         Pound sterling	    GBP
        ///         Singapore dollar	SGD
        ///         Swedish krona	    SEK
        ///         Swiss franc	        CHF
        ///         Thai baht	        THB
        ///         Turkish lira	    TRY
        ///         United States dollar	USD
        /// </param>
        /// <param name="info">信用卡信息
        ///     具体查看BCCreditCardInfo类
        ///     当channel 为PAYPAL_CREDITCARD必填
        /// </param>
        /// <param name="creditCardId">
        ///     当使用PAYPAL_CREDITCARD支付完成后会返回一个credit_card_id,商家可以存储这个id方便下次通过这个id发起支付无需再输入卡面信息
        /// </param>
        /// <param name="returnUrl">同步返回页面
        ///     支付渠道处理完请求后,当前页面自动跳转到商户网站里指定页面的http路径。
        ///     当channel参数为PAYPAL_PAYPAL时为必填
        /// </param>
        /// <returns></returns>
        public static BCInternationlBill BCInternationalPay(BCInternationlBill bill)
        {
            Random random = new Random();
            string payUrl = BCPrivateUtil.getHost() + BCConstants.version + BCConstants.internationalURL;

            string paraString = prepareInternationalPayParameters(bill);

            try
            {
                HttpWebResponse response = BCPrivateUtil.CreatePostHttpResponse(payUrl, paraString, BCCache.Instance.networkTimeout);
                string respString = BCPrivateUtil.GetResponseString(response);
                return handleInternationalPayResult(respString, bill);
            }
            catch (Exception e)
            {
                var ex = new BCException(e.Message);
                throw ex;
            }
        }
Beispiel #5
0
        //准备境外支付参数
        public static string prepareInternationalPayParameters(BCInternationlBill bill)
        {
            long timestamp = BCUtil.GetTimeStamp(DateTime.Now);

            JsonData data = new JsonData();
            data["app_id"] = BCCache.Instance.appId;
            data["app_sign"] = BCPrivateUtil.getAppSignature(BCCache.Instance.appId, BCCache.Instance.appSecret, timestamp.ToString());
            data["timestamp"] = timestamp;
            data["channel"] = bill.channel;
            data["total_fee"] = bill.totalFee;
            data["bill_no"] = bill.billNo;
            data["title"] = bill.title;
            data["currency"] = bill.currency;
            if (bill.info != null)
            {
                data["credit_card_info"] = JsonMapper.ToObject(JsonMapper.ToJson(bill.info));
            }
            if (bill.creditCardId != null)
            {
                data["credit_card_id"] = bill.creditCardId;
            }
            if (bill.returnUrl != null)
            {
                data["return_url"] = bill.returnUrl;
            }

            string paraString = data.ToJson();
            return paraString;
        }
Beispiel #6
0
 //处理境外支付回调
 public static BCInternationlBill handleInternationalPayResult(string respString, BCInternationlBill bill)
 {
     JsonData responseData = JsonMapper.ToObject(respString);
     if (responseData["result_code"].ToString() == "0")
     {
         if (bill.channel == "PAYPAL_PAYPAL")
         {
             bill.url = responseData["url"].ToString();
         }
         if (bill.channel == "PAYPAL_CREDITCARD")
         {
             bill.creditCardId = responseData["credit_card_id"].ToString();
         }
     }
     else
     {
         var ex = new BCException(responseData["err_detail"].ToString());
         throw ex;
     }
     return bill;
 }