【问题标题】:mindbody-php-api for stored credit card payment?mindbody-php-api 用于存储的信用卡付款?
【发布时间】:2017-10-10 17:04:43
【问题描述】:

我正在使用 mindbody api 付款,当我添加我的信用卡详细信息时,付款成功,但是当我使用存储(现有)卡付款时,它给出了错误:

Card Authorization Failed mb.Core.BLL.Transaction failed validation Could not determine the type of credit card.

我的代码是:

$shoppingCart = array(
                'ClientID' => $client_id,
                'Test' => false,
                'InStore' => true, //add by NIK
                'CartItems' => array(
                    'CartItem' => array(
                        'Quantity' => $product_qty,
                        'Item' => new SoapVar(
                            array('ID' => $product_id), SOAP_ENC_ARRAY, 'Service', 'http://clients.mindbodyonline.com/api/0_5'
                        ),
                        'DiscountAmount' => 0
                    )
                ),

                'Payments' => array(
                    'PaymentInfo' => new SoapVar(
                        array(
                            'LastFour'=>$clientCreditCard->LastFour,
                            'Amount'=>round($OnlinePrice, 2),
                        ),
                        SOAP_ENC_ARRAY,
                        'StoredCardInfo',
                        'http://clients.mindbodyonline.com/api/0_5'
                    ),
                )
            );

请给出任何解决方案,我应该怎么做或发送额外的参数。 谢谢!

【问题讨论】:

  • 您的错误代码是....什么?
  • 我要付款但给出的错误是:Card Authorization Failed mb.Core.BLL.Transaction failed validation 无法确定信用卡的类型。
  • 好的,因此您的信用卡号码根据他们的验证器无效。格式正确吗?
  • 是的,我先用信用卡付款,然后是商店,现在我想用我存储的卡(现有卡)付款,然后就不行了。
  • 存储是否正确?看起来一样吗?

标签: php api soap mindbody


【解决方案1】:

不应该更像这样吗?

'Payments' => array(
        'PaymentInfo' => new SoapVar(
            array(
                'CreditCardNumber'=>'4111111111111111', 
                'ExpYear'=>'2015', 
                'ExpMonth'=>'06', 
                'Amount'=>'130', 
                'BillingAddress'=>'123 Happy Ln', 
                'BillingPostalCode'=>'93405'
            ), 
            SOAP_ENC_ARRAY, 
            'CreditCardInfo', 
            'http://clients.mindbodyonline.com/api/0_5'
        )

取自此 README.md https://github.com/devincrossman/mindbody-php-api

【讨论】:

  • 这适用于新信用卡,需要帮助从存储的信用卡(现有信用卡)付款。
【解决方案2】:

您的已保存卡片的购物车数组构造正确。

过去几天我一直在努力解决完全相同的问题,我发现在我的案例中的错误是前端帐户页面正在传递带有空格的信用卡号 - 前端由于通常的格式/可用性原因,表单会在输入保存的卡详细信息的应用程序的管理部分中自动添加空格。

我通过去掉 PHP 中的空格解决了这个问题: str_replace(" ", "", $_POST['cardnumber']) 在卡片保存函数中。

一旦我这样做了,保存的卡付款过程就可以正常工作了。

【讨论】:

    猜你喜欢
    • 2013-05-14
    • 2021-11-18
    • 2013-01-05
    • 2015-07-22
    • 2012-08-15
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多