【问题标题】:Payment Method BigCommerce付款方式 BigCommerce
【发布时间】:2018-03-08 05:31:30
【问题描述】:

我在一个与 BigCommerce 集成的项目中工作,但我在尝试处理付款方式时遇到问题,如果接受使用卡,我需要知道付款方式中使用的卡类型是什么。 这是我请求付款方式列表时响应的 Xml。 GET /api/v2/payments/methods

<?xml version="1.0" encoding="UTF-8"?>
<payment_methods>
   <payment_method>
      <code>braintree</code>
      <name>PayPal powered by Braintree</name>
      <test_mode>false</test_mode>
   </payment_method>
   <payment_method>
      <code>braintreepaypal</code>
      <name>PayPal powered by Braintree</name>
      <test_mode>false</test_mode>
   </payment_method>
   <payment_method>
      <code>testgateway</code>
      <name>Test Payment Gateway</name>
      <test_mode>true</test_mode>
   </payment_method>
   <payment_method>
      <code>cod</code>
      <name>Cash on Delivery</name>
      <test_mode>false</test_mode>
   </payment_method>
   <payment_method>
      <code>cheque</code>
      <name>Check</name>
      <test_mode>false</test_mode>
   </payment_method>
   <payment_method>
      <code>moneyorder</code>
      <name>Money Order</name>
      <test_mode>false</test_mode>
   </payment_method>
   <payment_method>
      <code>instore</code>
      <name>Pay in Store</name>
      <test_mode>false</test_mode>
   </payment_method>
   <payment_method>
      <code>bankdeposit</code>
      <name>Bank Deposit</name>
      <test_mode>false</test_mode>
   </payment_method>
</payment_methods>

如果我选择测试支付网关作为支付方式,您必须插入一张卡。我需要知道卡的类型(VI、MC、AMEX ....)

【问题讨论】:

  • 取决于卡片生成器。 getcreditcardnumbers.com,第一个数字表示卡片类型。 4 = 签证等。
  • 好的,但是你如何获得 card type = 4 y 需要在响应中输入
  • 您发布了使用货到付款的付款示例,因此没有信用卡。发布信用卡付款示例,以便我们提供良好的答案。
  • 不,我使用测试支付网关,它需要一张我发布此问题的卡片
  • 有人可以提出任何建议吗?也许这是直接向 BigCommerce 支持团队提出的问题

标签: c# xml e-commerce bigcommerce credit-card


【解决方案1】:

考虑使用 BigCommerce 的 Transactions API - 只要您知道订单的订单 ID,您就可以使用此其他 API 访问订单支付方式的详细信息。此处的文档:https://developer.bigcommerce.com/api/v3/orders.html#gettransactions

请注意,这是一个“V3”API,因此您需要通过 OAuth 访问它,并且它只是 JSON。

【讨论】:

  • 所以你告诉我,如果我使用 V3 API,我只能访问该信息,这是没有意义的,我的应用程序使用 XML,它必须是另一种方式
  • 我只是向您展示 BC 提供的更新的 API,其中包含您需要的信息。他们的 V2 Orders API 已经有很多年历史了,这个非常适合您的用例的 Transaction API 还不到一年,这就是它只使用现代 JSON 的原因。 V2 Orders API 也可以通过 JSON 以及某些标头使用。
【解决方案2】:

使用 xml linq。我将文件读入字符串,就像您从响应中获得的输入一样。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            //read file into string

            string xml = File.ReadAllText(FILENAME);

            XDocument doc = XDocument.Parse(xml);

            var payment_methods = doc.Descendants("payment_method").Select(x => new {
                code = (string)x.Element("code"),
                name = (string)x.Element("name"),
                test_mode = (Boolean)x.Element("test_mode")
            }).ToList();
        }
    }
}

【讨论】:

  • 我了解,但没有卡类型或 cc_type 之类的属性,这就是我需要的,例如(万事达卡、维萨卡等)
  • 支付卡号(信用卡、借记卡等)的前 6 位或 8 位数字称为发卡行标识号 (IIN),以前称为银行标识号 (BIN)。网上应该有一个表格,您可以查找该公司。 xml 不包含此信息。请参阅:stackoverflow.com/questions/72768/…
  • 这不是我的问题,如果您使用与 magento 的集成,您会看到他们在请求中返回支付方式中使用的 cc_type,如果您使用 Visa,他们返回 "VI" ,即我在这里需要什么,但 bigcommerce 将响应仅限于付款方式及其代码和名称
  • 这是 BigCommerce 的问题。我去了他们的网站,但找不到如何获取银行 ID。我知道他们不想给出信用卡号码,但应该有办法提供。我在这里尝试搜索:forum.bigcommerce.com/s/search/All
  • 但不需要信用卡号,只需要 cc_type,我知道我们可以从 cc_number 获取 cc_type 但是其他电子商务网站给你一个 cc_type 而不显示 cc_number 似乎 bigcommerce 不提供访问权限到那个信息
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-28
  • 1970-01-01
  • 2012-03-01
  • 1970-01-01
  • 2013-02-15
  • 1970-01-01
  • 2015-08-31
相关资源
最近更新 更多