簡體   English   中英

ADYEN付款 - 測試SoapFault對象時出現SOAP錯誤([message:protected] => security 010不允許

[英]ADYEN Payment - SOAP Error on test SoapFault Object ( [message:protected] => security 010 Not allowed

這是我在這個論壇上的第一篇文章。 我正在嘗試使用WS開發所有付款給Adyen,而不是直到現在我使用的skin / post方法。 所以,我從他們的例子中下載了這段代碼(我也發布了通過WS連接的類方法)

function Adyen($login, $password, $host ="live", $debug=FALSE ) {
    $this->DEBUG = $debug;

    $this->client = new SoapClient( "https://pal-$host.adyen.com/pal/Payment.wsdl",
      array(
        "login" => $login,
        "password" => $password,
        'trace' => 1,
        'soap_version' => SOAP_1_1,
        'style' => SOAP_DOCUMENT,
        'encoding' => SOAP_LITERAL
      )
    );
}


function authorise( $amount,$currencyCode,$cardHolder,$cardNumber,$expm,$expy,$cvc,$reference) {
        global $merchantAccount;

    $response = $this->client->authorise( array(
      "paymentRequest" => array 
      (
        "amount" => array (
        "value" => $amount,
        "currency" => $currencyCode),
        "card" => array (
        "cvc" => $cvc,
        "expiryMonth" => $expm,
        "expiryYear" => $expy,
        "holderName" => $cardHolder,
        "number" => $cardNumber,
        ),
      "merchantAccount" => $merchantAccount,
      "reference" => $reference,
    )
      )
    );

當我執行此代碼時,它返回此錯誤

#!/usr/bin/php SOAP Error on test SoapFault Object ( [message:protected] => security 010 Not allowed [string:Exception:private] => 

你有什么建議可以解決嗎?

最好的祝福。

編輯:這太奇怪,導致使​​用相同的方法,但使用不同的參數(如果經常付款,我沒有這個錯誤。這個案例運行

$response = $this->client->authorise(
                array(
                    "paymentRequest" =>
                    array(
                        "amount" => array("value" => $amount, 
                                          "currency" => $currencyCode),
                        "merchantAccount" => $merchantAccount,
                        "reference" => $reference,
                        "shopperReference" => $reference",
                        "shopperEmail" => $email,
                        "recurring" => array("contract" => "RECURRING"),
                        "selectedRecurringDetailReference" => "LATEST",
                        "shopperInteraction" => "ContAuth"
                    )
                )
        );

有同樣的問題,這是支持答案:

您正在嘗試進行API付款。 請注意,使用直接集成API有一些缺點。

最重要的是,由於嚴格的行業法規,商家必須在1級或2級符合PCI DSS(支付卡行業數據安全標准).PCI DSS認證流程需要您花費大量時間和金錢。

http://en.wikipedia.org/wiki/PCI_DSS

直接集成還提供了一組有限的付款方式,可能需要您實現3D安全機制等功能。

正常集成的工作原理如下:

  1. 將購物者從您的網站重定向到我們的托管付款頁面。
  2. 購物者可以選擇多種付款方式並付款。
  3. 購物者被重定向回您的網站,我們會傳回付款的結果代碼。
  4. 我們還通過SOAP或HTTP Post發送了通知。

來自Adyen的文檔

010不允許您不允許執行此操作

我想你應該發送電子郵件給他們的支持。 可能是您的帳戶尚未准備好使用。

您需要在ca admin區域中為用戶的“編輯允許的用戶IP范圍”添加您的IP。

我認為在這段代碼中你錯誤地添加了額外的雙引號(“shopperReference”=> $ reference“,)。

$response = $this->client->authorise(
                array(
                    "paymentRequest" =>
                    array(
                        "amount" => array("value" => $amount, 
                                          "currency" => $currencyCode),
                        "merchantAccount" => $merchantAccount,
                        "reference" => $reference,
                        "shopperReference" => $reference",
                        "shopperEmail" => $email,
                        "recurring" => array("contract" => "RECURRING"),
                        "selectedRecurringDetailReference" => "LATEST",
                        "shopperInteraction" => "ContAuth"
                    )
                )
        );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM