2017-07-18 7 views
0

Ich versuche, eine wiederkehrende Zahlung in Adyen zu initiieren, aber ich bin nicht in der Lage, herauszufinden, wie es geht. Ich habe versucht, einen Antrag auf Zahlungseingang Ergebnisse zu senden:Wiederkehrende Zahlung in Adyen

$request = array(
       'amount.currency' => $this->currency, 
       'amount.value' => $sepaSubmission->amount, 
       'merchantAccount' => $this->merchantAccount, 
       'recurring.contract' => "RECURRING,ONECLICK", 
       'reference' => $sepaSubmission->psp_reference, 
       'shopperEmail' => $account->email, 
       'shopperReference' => $account->email, 
       "selectedRecurringDetailReference" => "LATEST", 
       "skinCode" => env('ADYEN_SKIN_CODE'), 
       ); 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
    curl_setopt($ch, CURLOPT_USERPWD, env('ADYEN_USERNAME') . ":" . env('ADYEN_PASSWORD')); 
    curl_setopt($ch, CURLOPT_URL, "https://test.adyen.com/hpp/pay.shtml"); 
    curl_setopt($ch, CURLOPT_HEADER, false); 
    curl_setopt($ch, CURLOPT_POST,count($request)); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request)); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); 

bekomme ich folgende Fehlermeldung: Fehler: Skin null nicht existiert Ich habe eine gültige Skincode verifiziert ist im Preis inbegriffen.

Ich verwende SepaDirect als Bezahlung.

Ich habe auch gerade versucht, die oben genannten Felder an die erste Zahlung Einreichung Formular ich benutze und sie werden im Wesentlichen ignoriert, die Zahlung wird als eine einmalige verarbeitet.

Jede Hilfe wäre willkommen, ich habe die Dokumente für mehrere Tage durchgekämmt, um dies zum Scheitern zu bringen.

Antwort

1

Es scheint, dass Sie versuchen, auf die Haut umzuleiten, um eine Folge-Sepa-Transaktion durchzuführen. Dies, weil Sie den Anruf an "https://test.adyen.com/hpp/pay.shtml" tätigen.

Sepa Lastschrift über die API direkt verarbeitet werden können, gibt es keine Notwendigkeit, den Käufer an die HPP senden

Sie können Folgendes tun:

$request = array(
      'amount.currency' => $this->currency, 
      'amount.value' => $sepaSubmission->amount, 
      'merchantAccount' => $this->merchantAccount, 
      'recurring.contract' => "RECURRING", 
      'reference' => $sepaSubmission->psp_reference, 
      'shopperEmail' => $account->email, 
      'shopperReference' => $account->email, 
      "selectedRecurringDetailReference" => "LATEST", 
      "shopperInteraction" : "ContAuth", 
      ); 



$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 
curl_setopt($ch, CURLOPT_USERPWD, env('ADYEN_USERNAME') . ":" . env('ADYEN_PASSWORD')); 
curl_setopt($ch, CURLOPT_URL, "https://pal-test.adyen.com/pal/servlet/Payment/v25/authorise"); 
curl_setopt($ch, CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_POST,count($request)); 
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request)); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); 

Bitte beachten Sie die Änderung in URL, das Entfernen des Skincodes und das Hinzufügen von "shopperInteraction": "ContAuth", und das Entfernen von einem Klick in recurring.contract '=> "RECURRING",

Also wenn Sie einen Käufer wieder aufladen möchten, Sie Mach einfach diesen Anruf von deinem Ende , es besteht keine Notwendigkeit, ihn zum HPP zu schicken.

hoffe, das hilft,

Cheers, Andrew

Verwandte Themen