Платежный шлюз Monnify с помощью Golang

Примечание: Эта статья была написана на основе версии 1.0.0 библиотеки monnify-go, а сейчас библиотека находится в версии 2.0.0. Вы можете щелкнуть здесь, чтобы просмотреть недавнюю статью о версии 2.0.0.

В сегодняшней статье я покажу вам, как интегрировать платежный шлюз monnify в ваш Go-проект.
Monnify — это платежный шлюз для предприятий, позволяющий принимать платежи от клиентов, как на повторяющейся, так и на разовой основе. Monnify предлагает более простой, быстрый и дешевый способ для предприятий получать оплату через свои веб- и мобильные приложения, используя удобные способы оплаты для клиентов с самыми высокими показателями успешности, достижимыми в Нигерии.
Для реализации мы будем использовать библиотеку monnify, которую я создал. Вот ссылка на github на библиотеку https://github.com/hisyntax/monnify-go.

Установка

Чтобы установить этот пакет monnify, вам необходимо установить Go и создать рабочее пространство Go.

  • Вы можете использовать следующую команду Go для установки monnify-go
$ go get -u github.com/hisyntax/monnify-go
Вход в полноэкранный режим Выйти из полноэкранного режима
  • Импортируйте его в свой код:
import "github.com/hisyntax/monnify-go"
Войти в полноэкранный режим Выйти из полноэкранного режима

Принять платеж

Используйте это для приема платежей от клиентов

package main

import (
    "fmt"
    monnify "github.com/hisyntax/monnify-go"
    "github.com/hisyntax/monnify-go/transaction"
)

func main() {
    apiKey := ""
    secretKey := ""
    baseUrl := "https://sandbox.monnify.com" // for test
    monnify.Options(apiKey, secretKey, baseUrl)

    amount := 100 
    paymentReference := "ref123"
    paymentDesc := "test payment"
    currencyCode := "NGN"
    contractCode := ""
    customerName := ""
    customerEmail := ""
    customerNumber := "" 
    redirectUrl := "https://google.com" // test redirect url
    res, status, err := transaction.AcceptPayment(amount,paymentReference , paymentDesc, currencyCode, contractCode, customerName, customerEmail, customerNumber, redirectUrl)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(status)
    fmt.Println(res)
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Получить статус принятого платежа

Используйте эту функцию для получения статуса принятого платежа

package main

import (
    "fmt"
    monnify "github.com/hisyntax/monnify-go"
    "github.com/hisyntax/monnify-go/transaction"
)

func main() {
    apiKey := ""
    secretKey := ""
    baseUrl := "https://sandbox.monnify.com" // for test
    monnify.Options(apiKey, secretKey, baseUrl)

    paymentReference := "ref123"
    res, status, err := transaction.GetTransactionStatus(paymentReference)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(status)
    fmt.Println(res)
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Инициировать одиночный перевод

Используйте эту функцию для инициирования одиночных переводов

package main

import (
    "fmt"
    monnify "github.com/hisyntax/monnify-go"
    "github.com/hisyntax/monnify-go/transaction"
)

func main() {
    apiKey := ""
    secretKey := ""
    baseUrl := "https://sandbox.monnify.com" // for test
    monnify.Options(apiKey, secretKey, baseUrl)

    amount := 100
    paymentReference := "ref123"
    narration := "example transaction"
    bankCode := "058" // for GT Bank
    currency := "NGN"
    accountNumber := ""
    walletId := ""
    res, status, err := transaction.InitiateSingleTransfer(amount, paymentReference, narration, currency, bankCode, accountNumber, walletId)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(status)
    fmt.Println(res)
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Initiate Single Transfer Status

Используйте эту функцию для получения статуса инициированной одиночной передачи

package main

import (
    "fmt"
    monnify "github.com/hisyntax/monnify-go"
    "github.com/hisyntax/monnify-go/transaction"
)

func main() {
    apiKey := ""
    secretKey := ""
    baseUrl := "https://sandbox.monnify.com" // for test
    monnify.Options(apiKey, secretKey, baseUrl)

    paymentReference := "ref123"
    res, status, err := transaction.GetInitiateSingleTransferStatus(paymentReference)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(status)
    fmt.Println(res)
}
Войти в полноэкранный режим Выйти из полноэкранного режима

Этот пакет monnify-go находится в стабильной версии v1.0.0, и приведенные выше методы — это то, что эта библиотека предлагает сейчас. Но со временем все возможности, которые предлагает monnify, будут добавлены в этот пакет.

Оцените статью
devanswers.ru
Добавить комментарий