【问题标题】:Integrate Intuit Merchant Service to custom ecommerce将 Intuit Merchant Service 集成到定制电子商务中
【发布时间】:2025-12-09 21:40:01
【问题描述】:

我有一个“选择订阅套餐”页面,客户可以注册订阅套餐并付费。 我只想为此和付款流程使用直觉商家服务。 我真的不需要购物车应用程序,因为只有 3 个订阅包,而且它们不是动态的。 就像交易开始一样简单,只需点击他们喜欢的包的按钮。

我认为我可以使用 Keith 的 quickbook-devkit,但我认为我不能以正确的方式实现它。

谢谢!

【问题讨论】:

    标签: payment-gateway intuit merchant-account


    【解决方案1】:

    我知道这是一篇旧帖子,但是,为了回答您的问题:虽然您可以使用 QBMS SDK 来处理交易,但 Intuit 完全放弃了这一点,取而代之的是“QuickBooks Payments Beta”。不幸的是,您必须订阅 Quickbooks Online 才能使用它,这使得桌面和企业用户无法直接连接到他们的商家服务。 我的建议:不要浪费一分钟的时间来编码旧的东西。注册 Paypal 的商家帐户(他们将 4 种主要信用卡和 PayPal 付款结合在一个月度报表中 - 然后您可以手动将其导入 Quickbooks,包括购物车的实际详细信息)。

    【讨论】:

      【解决方案2】:

      在此处使用开源 PHP DevKit:

      按照此处的说明进行设置(您应该很可能使用 DESKTOP 方法):

      示例代码在这里:

      看起来像这样:

      // Now, let's create a credit card object, and authorize an amount agains the card
      $name = 'Keith Palmer';
      $number = '5105105105105100';
      $expyear = date('Y');
      $expmonth = date('m');
      $address = '56 Cowles Road';
      $postalcode = '06279';
      $cvv = null;
      
      // Create the CreditCard object
      $Card = new QuickBooks_MerchantService_CreditCard($name, $number, $expyear, $expmonth, $address, $postalcode, $cvv);
      
      // We're going to authorize $295.00
      $amount = 295.0;
      
      if ($Transaction = $MS->authorize($Card, $amount))
      {
          print('Card authorized!' . "\n");
          print_r($Transaction);  
      }
      

      其他一些注意事项:

      我真的不需要购物车应用程序

      Intuit 不提供购物车,因此这与这些都无关。

      我认为我可以使用 Keith 的 quickbook-devkit,但我认为我不能以正确的方式实现它。

      如果您不这么认为,也许您应该提供更多细节。具体为什么你认为你不能以“正确”的方式实现它?您尝试将其实施为这种“正确”方式是什么?

      【讨论】:

      • 嗨@keith,我使用了上面的代码,我的交易记录在 intuit 的交易部分。代码 $Transaction = $MS->charge($Card, $amount) 是否对卡进行收费?还是我必须添加才能为钱包充电?但是在交易部分,它总是进入“待处理”状态..这样可以吗?但有时它会变成“资金”和“扣留”。我需要使用有效的信用卡号吗?
      • ->charge(...) 实际上以信用卡收费。如果您想使用 Intuit 存储信用卡号以供将来使用(例如,如果您正在进行定期计费或将来再次从卡上收费),“钱包”功能是适用的。至于状态,请联系 Intuit,他们可以告诉您不同状态的含义。
      • 我确实使用钱包再次为卡充电。我使用此代码获取当前钱包进行充值:'$CreditCard = $MS->getWallet($customerID, $walletID)' 但是信用卡信息(例如号码和 cvv)受到保护,我如何在此处使用该信息为 $cvv 变量向钱包收费? '$Transaction = $MS->chargeWallet($customerID, $walletID, $amount, $salestax, $comment, $cvv)' 此外,此代码仅在 intuit 的交易部分下添加交易,我可以在定期付款部分?
      • CVV 代码从不存储 - 存储 CVV 代码将禁止您再次进行 Visa 或 Mastercard 交易。 不要存储它们。您不需要 CVV 代码来向信用卡收费 - 它们是可选的。 ->chargeWallet() 对信用卡收费,仅此而已。这些都与 Intuit 提供的定期支付功能无关。
      • 好的,所以我可以使用 '$MS->chargeWallet($customerID, $walletID, $amount, $salestax)' 为钱包充电,即使参数中没有指定 $cvv?太棒了~