9

Authorize.net Müşteri Bilgi Yöneticisi API'sı (CIM) ile çalışıyorum. Test durumum, ödeme sırasında yanlış adresi veren bir kullanıcının etrafında ortalanır.Authorize.net CIM Yinelenen İşlem Penceresi

bir müşteri profiline kullanıcı formu gönderdiğinde her zaman oluşturmak için çalışacaktır başvurum: Ben yukarıda gördüğünüz gibi x_duplicate_window geçen ayarlama denedim

$txrq = new AuthorizeNetCIM; 
$txrsp = $txrq->createCustomerProfileTransaction("AuthCapture", $transaction, 'x_duplicate_window=0'); 

"Ekstra Seçenekler" hangi içinde SDK, isteğin şu parçasıdır: varsayılan saat geçene kadar olursa olsun x_duplicate_window için kullandığınız değeri

<extraOptions><![CDATA[' . $this->_extraOptions . ']]></extraOptions> 

, authorize.net daima bir hata döndürür.

AuthorizeNet Error: Response Code: 3 Response Subcode: 1 Response Reason Code: 11 Response Reason Text: A duplicate transaction has been submitted. 

bizim (potansiyel) kullanıcılarından biri yanlış adresi göndermeyi denemesi durumunda, işlem zaman aşımı oluştuğunda ise hataların 3 daha fazla ek dakika ile karşılandı alır sonra özel hayatının hatasını anlar ve endişeleniyorum.

Authorize.net SDK kodunda bir hata var

cevap

9

: <extraOptions/>

: str_replace çağrısı eşleşmeyen bir düğümünde CIM.php's method _setPostString()

if ($this->_extraOptions) { 
    $this->_xml->addChild("extraOptions"); 
    $this->_post_string = str_replace("<extraOptions></extraOptions>",'<extraOptions><![CDATA[' . $this->_extraOptions . ']]></extraOptions>', $this->_xml->asXML()); 
    $this->_extraOptions = false; 
} 

$this->_xml->addChild("extraOptions"); sonuçlarında

~ Hattı 360-364

str_replace öğesinin değiştirilmesi, bu düzeltmeyi yapacak ve bu da x_duplicate_window parametresinden geçer:

if ($this->_extraOptions) { 
    $this->_xml->addChild("extraOptions"); 
    $this->_post_string = str_replace("<extraOptions/>",'<extraOptions><![CDATA[' . $this->_extraOptions . ']]></extraOptions>', $this->_xml->asXML()); 
    $this->_extraOptions = false; 
} 
+8

Authorize.net API'sı korkunç, onunla çalışmak için mutsuz bir deneyim yaşıyorum. – Acyra

+2

Söylemeliyim ki, Stripe şimdiye dek kullandığım en iyi ödeme işleme API'sı oldu. – Nick