2017-09-26 115 views
0

我使用MINDBODY API付款,当我添加了我的信用卡细节再付款成功,但是当我使用存储(现有的)卡支付,然后它给了错误:mindbody-php-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' 
        ), 
       ) 
      ); 

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

+1

你的错误代码是......什么? – delboy1978uk

+0

我要付款,但给出的错误是: 卡授权失败mb.Core.BLL.Transaction验证失败无法确定信用卡的类型。 –

+0

好吧,以便您的信用卡号码根据验证者无效。格式正确吗? – delboy1978uk

回答

0

它不应该看起来更像这样吗?

'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

+0

这对新的信用卡有好处,需要存储信用卡(现有信用卡)支付的帮助。 –

0

与保存卡您的购物车阵列构建正确。

过去几天我一直在处理完全相同的问题,并且我发现在我的案例中的错误是前端帐户页面正在传递信用卡号码中的字符串空格 - 前最终形式是自动添加通用格式/可用性原因的空间在输入保存的卡详细信息的应用程序的管理部分。

我通过在卡片保存功能中删除PHP中的空格str_replace(“”,“”,$ _POST ['cardnumber'])来解决它。

一旦我这样做,保存的卡支付过程正常工作。

+0

请分享你的源代码? –