2016-04-20 9 views
0

ich versuche, das paypal IPN mit dünnem zu implementieren.Slim v3, wie man eine Antwort auf eine andere URL/IP-Adresse sendet?

see code here

sie verwenden curl eine Post-Anforderung zu einer URL zu machen. Ist es nicht möglich, nur die URL im schlanken Antwortobjekt zu ändern?

andere Möglichkeiten, um Anfragen an irgendwo mit schlank senden?

EDIT

ich über diese Linie spreche:

$res = curl_exec($ch);

was ist das Äquivalent schlanke Weg, um eine Anfrage zu einem gewissen URL zu schicken?

Antwort

2

Sie können PSR7-Anfragen mit Hilfe von HTTPlug senden.

Sie müssen einige Adapterklassen erstellen, um HTTPlug mitzuteilen, wie Slims Request- und Response-Objekte erstellt werden. In Ihrem Code erstellen Sie einfach Ihre Slim Request und rufen den Client damit auf. Sie können zwischen einigen Clients wählen, zum Beispiel Curl oder Socket.

0

Wenn Sie Ihren Benutzer an PayPal senden möchten, damit sie bezahlen können, müssen Sie ein Formular auf Ihrer Website erstellen, das direkt an PayPal sendet.

Der Code, den Sie verlinkt haben, ist eine POST-Anfrage von PayPal zurück an Ihren Server. Zu behandeln, die in Schlank, erstellen Sie eine post Route:

$app->post('/paypal-ipn', PayPalIpnAction::class); 

Innerhalb Ihrer Action-Klasse benötigen Sie POST-Anfrage senden zurück zu PayPal:

class PayPalIpnAction 
{ 
    public function __invoke($request, $response, $args) 
    { 
     $dataFromPaypal = $reqest->getParsedBody(); 

     // Validate data from PayPal using HTTPlug, Guzzle or 
     // you use can the PayPal example code directly. 

     // If data is valid, process data and do whatever you 
     // need to with it. 

     // All done. Return the response. 
     return $response; 
    } 
} 

Beachten Sie, dass der Prüfungsschritt zurück zu PayPal isn‘ t direkt im Zusammenhang mit der Handhabung der Benachrichtigung in Slim, da es Teil Ihres Codes für die Bearbeitung der Benachrichtigung ist.

+0

Ich habe meine Frage geklärt – Toskan