Golang으로 결제 게이트웨이 Monnify

참고: 이 문서는 monnify-go 라이브러리의 v1.0.0을 기반으로 작성되었으며 현재 라이브러리는 v2.0.0입니다. 클릭하면 v2.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)
    }
    


    단일 전송 상태 시작



    이것을 사용하여 시작된 단일 전송 상태를 가져옵니다.

    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가 제공하는 모든 기능이 이 패키지에 추가될 것입니다.

    좋은 웹페이지 즐겨찾기