Ошибка PayPal TRANSACTION_REFUSED при возврате иди SDK - PullRequest
0 голосов
/ 19 марта 2019

Я работаю над интеграцией PayPal для оплаты и использованием Go SDK. Я сохранил карту в хранилище, и с этого идентификатора карты я пытаюсь вернуть платеж. Ниже приводится ответ об оплате, осуществленной с помощью кредитной карты:

{
    "intent": "sale",
    "payer": {
        "payment_method": "credit_card",
        "funding_instruments": [
            {
                "credit_card_token": {
                    "credit_card_id": "CARD-ID",
                    "last4": "9669",
                    "expire_year": "2021",
                    "expire_month": "6"
                }
            }
        ]
    },
    "transactions": [
        {
            "amount": {
                "currency": "USD",
                "total": "10.00",
                "details": {
                    "subtotal": "10.00"
                }
            },
            "description": "test description",
            "related_resources": [
                {
                    "sale": {
                        "id": "SALE-ID",
                        "amount": {
                            "currency": "USD",
                            "total": "10.00",
                            "details": {}
                        },
                        "create_time": "2019-03-19T09:31:01Z",
                        "state": "pending",
                        "parent_payment": "PAY-ID",
                        "update_time": "2019-03-19T09:31:06Z",
                        "links": [
                            {
                                "href": "https://api.sandbox.paypal.com/v1/payments/sale/SALE-ID",
                                "rel": "self",
                                "method": "GET"
                            },
                            {
                                "href": "https://api.sandbox.paypal.com/v1/payments/sale/SALE-ID/refund",
                                "rel": "refund",
                                "method": "POST"
                            },
                            {
                                "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-ID",
                                "rel": "parent_payment",
                                "method": "GET"
                            }
                        ]
                    }
                }
            ]
        }
    ],
    "id": "PAY-ID",
    "create_time": "2019-03-19T09:31:01Z",
    "state": "approved",
    "update_time": "2019-03-19T09:31:06Z",
    "links": [
        {
            "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-ID",
            "rel": "self",
            "method": "GET"
        }
    ]
}

Теперь ниже код для обработки возврата:

amount := paypalsdk.Amount{
   Currency: "USD",
   Total: "5.00",
}
refundResp, err = client.RefundSale(saleId, &amount)

Возвращает следующий ответ:

 {
        "name": "TRANSACTION_REFUSED",
        "debug_id": "ca89e0e86326",
        "message": "Request was refused.You can not do a partial refund on this transaction",
        "information_link": "https://developer.paypal.com/docs/api/payments/#errors",
        "details": null
    }

В настройках моего аккаунта для проверки платежа установлено значение OFF. Кто-нибудь знает, что я могу делать не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...