Проблема с возвратом средств в адаптивных платежах PayPal

Я пытаюсь полностью вернуть отправителю адаптивный платеж, привязанный к цепочке, но я застрял. Я использую CodeIgniter и потрясающую библиотеку Эндрю Энджелла для адаптивных платежей.

Возврат, который я хочу сделать, имеет такие детали: (вы можете увидеть необработанные xml-запросы и ответы ниже)

Array
(
    [Errors] => Array
        (
        )

    [Ack] => Success
    [Build] => 5472483
    [CorrelationID] => 4d31bf900a109
    [Timestamp] => 2013-03-20T09:45:02.585-07:00
    [ActionType] => PAY_PRIMARY
    [CancelURL] => http://my-cancel-url.com
    [CurrencyCode] => TRY
    [FeesPayer] => PRIMARYRECEIVER
    [FundingTypes] => Array
        (
        )

    [IPNNotificationURL] => 
    [Memo] => 
    [PayKey] => my-paykey
    [PaymentInfo] => Array
        (
            [PendingRefund] => false
            [RefundAmount] => 0.00
            [SenderTransactionID] => 
            [SenderTransactionStatus] => COMPLETED
            [TransactionID] => my-transaction-id
            [TransactionStatus] => COMPLETED
        )

    [PreapprovalKey] => 
    [ReturnURL] => http://success-url-area.com
    [ReverseAllParallelPaymentsOnError] => false
    [SenderEmail] => [email protected]
    [Status] => INCOMPLETE
    [TrackingID] => 
    [Receiver] => Array
        (
            [Amount] => 5.00
            [Email] => [email protected]
            [InvoiceID] => 
            [PaymentType] => SERVICE
            [Primary] => true
        )

    [XMLRequest] => <?xml version="1.0" encoding="utf-8"?><PaymentDetailsRequest xmlns="http://svcs.paypal.com/types/ap"><requestEnvelope xmlns=""><detailLevel>ReturnAll</detailLevel><errorLanguage>en_US</errorLanguage></requestEnvelope><payKey xmlns="">my-paykey</payKey></PaymentDetailsRequest>
    [XMLResponse] => <?xml version='1.0' encoding='UTF-8'?><ns2:PaymentDetailsResponse xmlns:ns2="http://svcs.paypal.com/types/ap"><responseEnvelope><timestamp>2013-03-20T09:45:02.585-07:00</timestamp><ack>Success</ack><correlationId>4d31bf900a109</correlationId><build>5472483</build></responseEnvelope><cancelUrl>http://my-cancel-url.com</cancelUrl><currencyCode>TRY</currencyCode><paymentInfoList><paymentInfo><transactionId>my-transaction-id</transactionId><transactionStatus>COMPLETED</transactionStatus><receiver><amount>5.00</amount><email>[email protected]</email><primary>true</primary><paymentType>SERVICE</paymentType><accountId>7VYWTSCQKWPAL</accountId></receiver><refundedAmount>0.00</refundedAmount><pendingRefund>false</pendingRefund><senderTransactionId>7P642947V2872150G</senderTransactionId><senderTransactionStatus>COMPLETED</senderTransactionStatus></paymentInfo><paymentInfo><receiver><amount>4.60</amount><email>[email protected]</email><primary>false</primary><paymentType>SERVICE</paymentType><accountId>7UZSWUVKCU4UW</accountId></receiver><refundedAmount>0.00</refundedAmount><pendingRefund>false</pendingRefund></paymentInfo></paymentInfoList><returnUrl>http://success-url-area.com</returnUrl><senderEmail>[email protected]</senderEmail><status>INCOMPLETE</status><payKey>my-paykey</payKey><actionType>PAY_PRIMARY</actionType><feesPayer>PRIMARYRECEIVER</feesPayer><reverseAllParallelPaymentsOnError>false</reverseAllParallelPaymentsOnError><sender><email>[email protected]</email><accountId>Y2BSLXZ8DQYY2</accountId><useCredentials>false</useCredentials></sender></ns2:PaymentDetailsResponse>
)

Когда я пытаюсь выполнить возврат, предоставляя ключ платежа, идентификатор транзакции (который я получил из запроса выше) и адрес электронной почты отправителя (который получит возмещение), появляется эта ошибка (вы можете увидеть необработанный запрос и ответы ниже):

Array
(
    [Errors] => Array
        (
            [0] => Array
                (
                    [Receiver] => 
                    [Category] => Application
                    [Domain] => PLATFORM
                    [ErrorID] => 589061
                    [ExceptionID] => 
                    [Message] => The receiver [email protected] is invalid for this refund
                    [Parameter] => [email protected]
                    [Severity] => Error
                    [Subdomain] => Application
                )

        )

    [Ack] => Failure
    [Build] => 5472483
    [CorrelationID] => 2a1630b772ee0
    [Timestamp] => 2013-03-20T09:52:10.986-07:00
    [EncryptedTransactionID] => 
    [RefundFeeAmount] => 
    [RefundGrossAmount] => 
    [RefundHasBecomeFull] => 
    [RefundNetAmount] => 
    [RefundStatus] => 
    [RefundTransactionStatus] => 
    [TotalOfAllRefunds] => 
    [Receiver] => Array
        (
            [Amount] => 
            [Email] => 
            [InvoiceID] => 
            [PaymentType] => 
            [Primary] => 
        )

    [RawRequest] => <?xml version="1.0" encoding="utf-8"?><RefundRequest xmlns="http://svcs.paypal.com/types/ap"><requestEnvelope xmlns=""><detailLevel>ReturnAll</detailLevel><errorLanguage>en_US</errorLanguage></requestEnvelope><currencyCode>TRY</currencyCode><payKey xmlns="">my-paykey</payKey><receiverList xmlns=""><receiver xmlns=""><amount xmlns="">1.00</amount><email xmlns="">[email protected]</email><paymentType xmlns="">SERVICE</paymentType></receiver></receiverList><transactionId xmlns="">1VL98806A27476639</transactionId></RefundRequest>
    [RawResponse] => <?xml version='1.0' encoding='UTF-8'?><ns3:FaultMessage xmlns:ns3="http://svcs.paypal.com/types/common" xmlns:ns2="http://svcs.paypal.com/types/ap"><responseEnvelope><timestamp>2013-03-20T09:52:10.986-07:00</timestamp><ack>Failure</ack><correlationId>2a1630b772ee0</correlationId><build>5472483</build></responseEnvelope><error><errorId>589061</errorId><domain>PLATFORM</domain><subdomain>Application</subdomain><severity>Error</severity><category>Application</category><message>The receiver [email protected] is invalid for this refund</message><parameter>[email protected]</parameter></error></ns3:FaultMessage>
)
1

Также, когда я не указываю идентификатор транзакции и оставляю остальное PayPal, проблема меняется на это (необработанный XML-запрос находится ниже массива):

Array
(
    [Errors] => Array
        (
            [0] => Array
                (
                    [Receiver] => 
                    [Category] => Application
                    [Domain] => PLATFORM
                    [ErrorID] => 589036
                    [ExceptionID] => 
                    [Message] => The currency code is missing or doesn't match the code in the payment request
                    [Parameter] => 
                    [Severity] => Error
                    [Subdomain] => Application
                )

        )

    [Ack] => Failure
    [Build] => 5472483
    [CorrelationID] => e3fc5e41040f3
    [Timestamp] => 2013-03-20T10:02:29.233-07:00
    [EncryptedTransactionID] => 
    [RefundFeeAmount] => 
    [RefundGrossAmount] => 
    [RefundHasBecomeFull] => 
    [RefundNetAmount] => 
    [RefundStatus] => 
    [RefundTransactionStatus] => 
    [TotalOfAllRefunds] => 
    [Receiver] => Array
        (
            [Amount] => 
            [Email] => 
            [InvoiceID] => 
            [PaymentType] => 
            [Primary] => 
        )

    [RawRequest] => <?xml version="1.0" encoding="utf-8"?><RefundRequest xmlns="http://svcs.paypal.com/types/ap"><requestEnvelope xmlns=""><detailLevel>ReturnAll</detailLevel><errorLanguage>en_US</errorLanguage></requestEnvelope><currencyCode>TRY</currencyCode><payKey xmlns="">AP-52A99028X8685964M</payKey><receiverList xmlns=""><receiver xmlns=""><amount xmlns="">1.00</amount><email xmlns="">[email protected]</email><paymentType xmlns="">SERVICE</paymentType></receiver></receiverList></RefundRequest>
    [RawResponse] => <?xml version='1.0' encoding='UTF-8'?><ns3:FaultMessage xmlns:ns3="http://svcs.paypal.com/types/common" xmlns:ns2="http://svcs.paypal.com/types/ap"><responseEnvelope><timestamp>2013-03-20T10:02:29.233-07:00</timestamp><ack>Failure</ack><correlationId>e3fc5e41040f3</correlationId><build>5472483</build></responseEnvelope><error><errorId>589036</errorId><domain>PLATFORM</domain><subdomain>Application</subdomain><severity>Error</severity><category>Application</category><message>The currency code is missing or doesn't match the code in the payment request</message></error></ns3:FaultMessage>
)
1

Как видите, я уже предоставил CurrencyCode, также адрес электронной почты отправителя берется из самого запроса, чтобы предотвратить опечатки. Даже если я жестко запрограммирую, это не изменит ситуацию.

Можете ли вы помочь мне, что мне не хватает?

Спасибо,


person Arda    schedule 20.03.2013    source источник


Ответы (1)


проверьте документацию, скажем, через paypal здесь

Turkish Lira     TRY

NOTE:This currency is supported as a payment currency and a currency balance for in-country PayPal accounts only.
person Rajeev Ranjan    schedule 23.09.2013