当前位置: 首页 > 知识库问答 >
问题:

POS信用卡刷卡C#中windows窗体应用程序中的paypal沙箱测试帐户

施靖
2023-03-14
  1. 我创建windows窗体应用程序示例。
  2. 我在visual Studio中下载pay pal sdk。
  3. 我创建paypal沙箱测试帐户

应用程序ID:

APP-80W284485P519543T

我已经为winform应用程序复制了一些代码,同时单击一个按钮,即。

 Dictionary<string, string> sdkConfig = new Dictionary<string, string>();
            sdkConfig.Add("mode", "sandbox");
            accessToken = new OAuthTokenCredential("AQkquBDf1zctJOWGKWUEtKXm6qVhueUEMvXO_-MCI4DQQ4-LWvkDLIN2fGsd", "EL1tVxAjhT7cJimnz5-Nsx9k2reTKSVfErNQF-CmrwJgxRtylkGTKlU4RvrX", sdkConfig).GetAccessToken();
HttpContext CurrContext = HttpContext.Current;
            APIContext apiContext = new APIContext(accessToken);
            Item item = new Item();
            item.name = _ItemDescription;
            item.currency = "USD";
            item.price = _Amount;
            item.quantity = "1";
            item.sku = _UPC;

            List<Item> itms = new List<Item>();
            itms.Add(item);
            ItemList itemList = new ItemList();
            itemList.items = itms;

            Address billingAddress = new Address();
            billingAddress.city = "Chennai";
            billingAddress.country_code = "US";
            billingAddress.line1 = "11/12";
            billingAddress.line2 = "Andavar nager main street";
            billingAddress.postal_code = "600089";
            billingAddress.state = "Tamil nadu";

            CreditCard crdtCard = new CreditCard();
            crdtCard.billing_address = billingAddress;
            crdtCard.cvv2 = 2222;
            crdtCard.expire_month = 4;
            crdtCard.expire_year = 2020;
            crdtCard.first_name = "Arul";
            crdtCard.last_name = "Murugan";
            crdtCard.number = "4032039053301695";
            crdtCard.type = "visa";

            Details details = new Details();
            details.tax = "0";
            details.shipping = "0";
            details.subtotal = _Amount;

            Amount amont = new Amount();
            amont.currency = "USD";
            amont.total = _Amount;
            amont.details = details;

            Transaction tran = new Transaction();
            tran.amount = amont;
            tran.description = _ItemDescription;
            tran.item_list = itemList;

            List<Transaction> transactions = new List<Transaction>();
            transactions.Add(tran);

            FundingInstrument fundInstrument = new FundingInstrument();
            fundInstrument.credit_card = crdtCard;

            List<FundingInstrument> fundingInstrumentList = new List<FundingInstrument>();
            fundingInstrumentList.Add(fundInstrument);

            PayerInfo pi = new PayerInfo();
            pi.email = "sysumurugan-facilitator@gmail.com";
            pi.first_name = "Arul";
            pi.last_name = "Murugan";


            Payer payr = new Payer();
            payr.funding_instruments = fundingInstrumentList;
            payr.payment_method = "credit_card";
            payr.payer_info = pi;

            pi.shipping_address = new ShippingAddress
            {
                city = "San Mateo",
                country_code = "US",
                line1 = "SO TEST",
                line2 = "",
                postal_code = "94002",
                state = "CA",
            }; 

            Payment paymnt = new Payment();
            paymnt.intent = "sale";
            paymnt.payer = payr;
            paymnt.transactions = transactions;
            try
            {
                Payment createdPayment = paymnt.Create(apiContext);
                CurrContext.Items.Add("ResponseJson", JObject.Parse(createdPayment.ConvertToJson()).ToString(Formatting.Indented));
            }
            catch (PayPal.Exception.PayPalException ex)
            {
                if (ex.InnerException is PayPal.Exception.ConnectionException)
                {
                    CurrContext.Response.Write(((PayPal.Exception.ConnectionException)ex.InnerException).Response);
                }
                else
                {
                    CurrContext.Response.Write(ex.Message);
                }
            }
            catch (Exception es)
            {
                MessageBox.Show( es.ToString());
            }
            CurrContext.Items.Add("RequestJson", JObject.Parse(paymnt.ConvertToJson()).ToString(Formatting.Indented));

我的引用链接是

http://pastebin.com/H7VuPQs4
  1. 解析PayPal REST信用卡事务响应(JSON),
  2. C#PayPal REST API信用卡结账

请向我解释通过win表格申请的POS(销售点)信用卡交易的其他方式。

共有1个答案

罗毅
2023-03-14

PayPal.NET SDK用于服务器应用程序(例如ASP.NET),其中应用程序凭据以安全的方式存储。直接从POS系统上运行的WinForms应用程序使用SDK会带来安全风险,因为您的商户帐户凭据没有以安全的方式存储。理想情况下,POS系统应该与执行处理的某个地方的安全服务器进行通信。

话虽如此,这个用例就是PayPal在这里设计的目的。

 类似资料:
  • 我在几个月前创建了一个测试VISA卡号,并且能够在开发期间使用它(通过FoxyCart)。 我今天又试了一次相同的号码,这次我收到以下错误消息: 贝宝处理沙箱账户的方式有什么改变吗? 谢谢!

  • 我在用贝宝的沙箱测试信用卡付款时遇到了麻烦。当从developer.paypal.com中查看买家的沙箱帐户的配置文件时,我可以看到以下信用卡详细信息: 虽然,当在支付屏幕上使用这些详细信息时,我得到的信息是“我们很抱歉,我们无法完成这笔支付。请尝试另一张卡。” 我在其他问题中读到,你应该能够登录一个沙箱帐户,去添加一个额外的信用卡,它应该会为你生成一些测试号码...但是,当我执行此操作时,所有字

  • 我有一个英国贝宝商业账户。我目前正在开发一个网站支付系统,以支付到这个帐户使用快速结帐。 到目前为止,我的PHP代码工作正常,我能够连接到沙箱并设置和快速签出。下一个阶段是将用户重定向到PayPal沙箱进行测试支付。 null 当它说“删除这个账户”时,我不知道它实际上是什么意思,因为它没有用我刚刚输入的细节创建一个新的个人账户(至少没有一个我可以在任何地方看到的账户)。我甚至尝试创建一个新的商业

  • 本文向大家介绍PayPal 设置沙箱用户测试帐户,包括了PayPal 设置沙箱用户测试帐户的使用技巧和注意事项,需要的朋友参考一下 示例 在沙盒上测试PayPal集成时,您需要设置沙盒用户帐户以用于支付流程。 转到https://developer.paypal.com/developer/accounts/,使用您的PayPal帐户登录,然后单击“创建帐户”,如下所示: 输入新测试用户的帐户详细

  • {“response_envelope”=>{“timestamp”=>“2015-10-06T22:55:49.604-07:00”,“ack”=>“success”,“correlation_id”=>“9f0f563554297”,“build”=>“17820627”},“currency_code”=>“usd”,“refund_info_list”=>{“refund_info”=>[

  • 客户在与paypal沙箱账户链接的测试网站上付款(使用真实/有效信用卡)。贝宝通知他们,用正确的交易ID从他们的账户中扣除200美元。 我可以在沙箱商业帐户中看到交易id,但问题是他们的帐户是否扣除了真正的钱? 同样的问题,如果他们使用贝宝支付我们,而不是信用卡,而网站是在测试模式下运行,并与贝宝沙箱业务帐户链接。