Nie można ukończyć płatności powiązanej

Chciałbym pomyśleć, że po prostu brakuje mi tutaj czegoś oczywistego, ale wydaje mi się, że nie udało mi się uzyskać płatności z łańcuchem (używającPHP SDK w piaskownicy). Jestem w stanie uzyskać udaną odpowiedź, a gdy przekierowuję użytkownika do PayPal, szczegóły transakcji pojawiają się w porządku, ale gdy użytkownik próbuje dokończyć płatność, otrzymuje straszny błąd:

Twoja płatność nie może zostać zrealizowana. Wróć do strony uczestniczącej i spróbuj ponownie.

Frustrujące jest to, że porzuciłem wysyłane dane żądania i porównałem je z danymi wprzykład podany w dokumentacji i poprawiłem moją prośbę, dopóki nie były faktycznie identyczne, i nadal nie było kości. Nie widzę też niczego na żadnym z kont, aby wskazać, że płatność została podjęta, oczekująca lub nieudana.

Oto, co jest wysyłane:

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

A odpowiedź wygląda dobrze dla mnie:

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] => 
)

Próbowałem też ustawić typ akcji na PAY_PRIMARY, ponieważ określam głównego odbiorcę, a tak jest najlepiej, gdy idę.

AKTUALIZACJA: Widząc, że wciąż nie otrzymałem odpowiedzi na ten bilet, który otworzyłem w systemie PayPal, i nikt nie skomentował tego pytania, przeprowadziłem dalsze testy. Jeśli wygeneruję to samo żądanie za pomocą eksploratora API, transakcja zostanie wykonana normalnie. Aledokładnie ta sama prośba nie działa przez API. Sprawdziłem (kopiując i wklejając wygenerowane nagłówki i treść żądania), żetylko różnice między żądaniem wygenerowanym przez Eksploratora API a kodem SDK są następujące:

Nagłówki utworzone przez eksploratora mają spację między nazwą a wartościamiEksplorator API nie zawiera identyfikatora aplikacjiMoje wywołanie interfejsu APIrobi dołącz identyfikator aplikacji zarówno w nagłówku, jak i treści żądania

Wywołanie interfejsu API SDK nadal nie działa, jeśli usunę odwołanie do identyfikatora aplikacji, które zostało dodane w celu rozwiązania tego problemu.

Nie rozumiem, dlaczego płatność wygenerowana przez zestaw SDK (dostarczany przez PayPal) nie kończy się, ale dokładne wywołanie działa prawidłowo, gdy eksplorator go wywołuje. Każda pomoc lub rada byłaby mile widziana.

questionAnswers(2)

yourAnswerToTheQuestion