Verkettete Zahlung kann nicht abgeschlossen werden

Ich würde gerne glauben, dass ich hier nur etwas Offensichtliches vermisse, aber ich kann anscheinend keine verkettete Zahlung zum Abschluss bringen (mit demPHP SDK im Sandkasten). Ich kann eine erfolgreiche Antwort erhalten, und wenn ich den Benutzer zu PayPal weiterleitung, werden die Transaktionsdetails in Ordnung angezeigt. Wenn der Benutzer jedoch versucht, die Zahlung abzuschließen, wird der gefürchtete Fehler angezeigt:

Ihre Zahlung kann nicht abgeschlossen werden. Bitte kehren Sie zur teilnehmenden Website zurück und versuchen Sie es erneut.

Es ist frustrierend, dass ich die gesendeten Anforderungsdaten ausgegeben und mit den Daten in verglichen habedas in der Dokumentation angegebene Beispiel und optimierte meine Anfrage, bis sie tatsächlich identisch waren und immer noch keine Würfel mehr. Ich sehe auch überhaupt nichts auf einem der Konten, was darauf hinweist, dass eine Zahlung versucht wurde, aussteht oder fehlgeschlagen ist.

Folgendes wird gesendet:

requestEnvelope.errorLanguage=en_US
&clientDetails.ipAddress=127.0.0.1
&clientDetails.applicationId=APP-80W284485P519543T
&actionType=PAY
&cancelUrl=http%3A%2F%2Fdomain.com%2Fpaypal%2Fcancel
&currencyCode=USD
&feesPayer=EACHRECEIVER
&memo=Test+Payment
&receiverList.receiver(0).amount=3.25
&receiverList.receiver(0).email=merchant%40domain.com
&receiverList.receiver(0).primary=1
&receiverList.receiver(1).amount=1.5
&receiverList.receiver(1).email=seller%40domain.com
&senderEmail=buyer%40domain.com
&returnUrl=http%3A%2F%2Fdomain.com%2Fpaypal%2Freturn

Und die Antwort sieht für mich gut aus:

PayPal\Types\AP\PayResponse Object
(
    [responseEnvelope] => PayPal\Types\Common\ResponseEnvelope Object
        (
            [timestamp] => 2013-07-28T23:25:52.676-07:00
            [ack] => Success
            [correlationId] => bf1ba2c8a50d4
            [build] => 6941298
        )

    [payKey] => AP-XXXXXXXXXXXXXXXXC
    [paymentExecStatus] => CREATED
    [payErrorList] => 
    [paymentInfoList] => 
    [sender] => 
    [defaultFundingPlan] => 
    [warningDataList] => 
    [error] => 
)

Ich habe auch versucht, den Aktionstyp auf PAY_PRIMARY zu setzen, da ich einen primären Empfänger spezifiziere, und das ist im Idealfall sowieso das, wonach ich strebe.

AKTUALISIEREN: Da ich immer noch keine Antwort auf das Ticket erhalten habe, das ich mit PayPal geöffnet habe, und niemand diese Frage kommentiert hat, habe ich einige weitere Tests durchgeführt. Wenn ich dieselbe Anforderung mit dem API-Explorer generiere, wird die Transaktion normal abgeschlossen. Aber diegenau die gleiche Anfrage schlägt durch die API fehl. Ich habe (durch Kopieren und Einfügen der generierten Header und des angeforderten Texts) überprüft, dass dasnur Die folgenden Unterschiede bestehen zwischen der vom API-Explorer generierten Anforderung und dem SDK-Code:

Die vom Explorer erstellten Header enthalten ein Leerzeichen zwischen dem Namen und den WertenDer API-Explorer enthält keine Anwendungs-IDMein API-Aufruftut Geben Sie die Anwendungs-ID sowohl im Header als auch im Anforderungshauptteil an

Der SDK-API-Aufruf funktioniert immer noch nicht, wenn ich die Anwendungs-ID-Referenz entferne, die hinzugefügt wurde, um dieses Problem zu lösen.

Ich verstehe nicht, warum die vom SDK (das von PayPal bereitgestellt wird) generierte Zahlung nicht abgeschlossen werden kann, aber der genaue Aufruf funktioniert einwandfrei, wenn der Explorer ihn aufruft. Jede Hilfe oder Beratung wäre dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage