Как произвести оплату кредитной картой через пакет логпакеров PayPal? - PullRequest
0 голосов
/ 03 октября 2018

Я использую пакет logpacker в приложении golang для совершения транзакции по кредитной карте с использованием PayPal, но он возвращает мне POST https://api.sandbox.paypal.com/v1/payments/payment: 500 ошибка Мой файл main.go с таким кодом: *

package main 

import (
    paypalsdk "github.com/logpacker/PayPal-Go-SDK"
    "fmt"
)

var ClientID = "my-client-id"
var SecretID = "my-secret-key"

func main() {
    // Initialize client
    c, err := paypalsdk.NewClient(ClientID, SecretID, paypalsdk.APIBaseSandBox)
    if err != nil {
       panic(err)
    }

    // Retrieve access token
    _, err = c.GetAccessToken()
    if err != nil {
       panic(err)
    }

    // Create credit card payment
    p := paypalsdk.Payment{
       Intent: "sale",
       Payer: &paypalsdk.Payer{
          PaymentMethod: "credit_card",
          FundingInstruments: []paypalsdk.FundingInstrument{{
            CreditCard: &paypalsdk.CreditCard{
                Number:      "43118885805455",
                Type:        "visa",
                ExpireMonth: "11",
                ExpireYear:  "2023",
                CVV2:        "123",
                FirstName:   "abc",
                LastName:    "abc",
            },
          }},
       },
       Transactions: []paypalsdk.Transaction{{
            Amount: &paypalsdk.Amount{
                Currency: "USD",
                Total:    "7.00",
            },
            Description: "My Payment",
        }},
        RedirectURLs: &paypalsdk.RedirectURLs{
            ReturnURL: "http://...",
            CancelURL: "http://...",
        },
    }
    _, err = c.CreatePayment(p)
    if err != nil {
       fmt.Println(err)
    }
    //fmt.Println(data)
}

После этого яработает файл main.go, и он генерирует следующую ошибку: POST https://api.sandbox.paypal.com/v1/payments/payment: 500

Это ссылка github пакета logpacker: https://github.com/logpacker/PayPal-Go-SDK

1 Ответ

0 голосов
/ 03 октября 2018

Код ответа HTTP 500 означает «Внутренняя ошибка сервера» :

Сервер обнаружил непредвиденное состояние, которое не позволило ему выполнить запрос.

Это означает, что ваш клиент успешно отправил HTTP-запрос, но серверу не удалось сгенерировать ожидаемый ответ, поскольку на самом сервере произошла какая-то проблема, и ответственность за ее устранение лежит на владельце этой системы.Основной причиной может быть любое количество вещей (ошибка программирования, проблема с базой данных, проблема с сетью, банка газированной воды на материнской плате сервера и т. Д.);однако отладочная информация существует в серверной инфраструктуре и, как правило, недоступна ( не должна! ) для клиентов, поскольку может содержать конфиденциальную информацию.

Это возможно что в запросе, выданном вашим клиентом, возникла какая-то проблема, и в этом случае сервер должен ответить неким ответом 4xx «Ошибка клиента» .Однако мы не можем знать, так ли это, потому что серверу не удалось сгенерировать значимый ответ.

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

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