Golang v1.4.0으로 결제 게이트웨이 Monnify

이 주제에 대한 기사를 마지막으로 게시한 이후로 monnify-go 라이브러리에 많은 업데이트가 있었습니다.
오늘의 기사는 라이브러리의 이전 메서드가 요청 페이로드와 함께 업데이트되고 일부 다른 새로운 메서드도 라이브러리에 추가됨에 따라 라이브러리의 업데이트에 관한 것입니다.
monnify-go 라이브러리는 이제 v1.4.0에 있으며 monnify에서 사용할 수 있는 모든 API 엔드포인트를 포함합니다. 이 라이브러리( monnify-go )는 누구나 쉽게 사용할 수 있도록 패키지에서 사용할 수 있는 각 메서드에 대한 예제 코드가 있으므로 적절하게 문서화되어 있습니다. 라이브러리의 모든 메서드에 대한 전체 문서를 보려면 monnify-go github repo를 방문하십시오.
다음은 몇 가지 코드 샘플입니다.

지급 월렛 잔액 가져오기



이것을 사용하여 지불 지갑 잔액을 얻습니다.

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"
    monnify.Options(apiKey, secretKey, baseUrl)

    walletId := "123"
    res, status, err := transaction.GetDisburstmentWalletBal(walletId)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(status)
    fmt.Println(res)
}


결제 수락



이것을 사용하여 고객의 지불을 수락하십시오.

이 개체 페이로드를 사용하여 AcceptPayment() 메서드를 구현합니다.



참고: CurrencyCode는 나이라의 경우 "NGN"이어야 합니다.

type AcceptPaymentReq struct {
    PaymentReference    string `json:"paymentReference"`
    Amount              int    `json:"amount"`
    CurrencyCode        string `json:"currencyCode"`
    ContractCode        string `json:"contractCode"`
    CustomerEmail       string `json:"customerEmail"`
    CustomerName        string `json:"customerName"`
    CustomerPhoneNumber string `json:"customerPhoneNumber"`
    RedirectUrl         string `json:"redirectUrl"`
    PaymentDescription  string `json:"paymentDescription"`
}



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)

    payload := transaction.AcceptPaymentReq{}

    res, status, err := transaction.AcceptPayment(payload)
    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)
}


단일 전송 시작



이것을 사용하여 단일 전송을 시작하십시오.

이 개체 페이로드를 사용하여 InitiateSingleTransfer() 메서드를 구현합니다.




type InitiateSingleTransferReq struct {
    Amount        int    `json:"amount"`
    Reference     string `json:"reference"`
    Narration     string `json:"narration"`
    BankCode      int    `json:"bankCode"`
    Currency      string `json:"currency"`
    AccountNumber int    `json:"accountNumber"`
    WalletId      string `json:"walletId"`
}



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)

    payload := transaction.InitiateSingleTransferReq{}
    res, status, err := transaction.InitiateSingleTransfer(payload)
    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.GetSingleTransferDetails(paymentReference)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(status)
    fmt.Println(res)
}


대량 전송 시작



이것을 사용하여 대량 전송을 시작합니다.

이 개체 페이로드를 사용하여 InitiateBulkTransfer() 메서드를 구현합니다.



참고: BREAK를 사용하여 Monnify에게 전체 배치를 거부하도록 지시하고 CONTINUE를 사용하여 Monnify에게 OnValidationFailure 필드에 대한 유효한 트랜잭션을 처리하도록 지시하십시오.

type InitiateBulkTransferReq struct {
    Title                string                                   `json:"title"`
    BatchReference       string                                   `json:"batchReference"`
    Narration            string                                   `json:"narration"`
    WalletId             string                                   `json:"walletId"`
    OnValidationFailure  string                                   `json:"onValidationFailure"`
    NotificationInterval int                                   `json:"notificationInterval"`
    TransactionList      []InitiateBulkTransferReqTransactionList `json:"transactionList"`
}

type InitiateBulkTransferReqTransactionList struct {
    Amount        string `json:"amount"`
    Reference     string `json:"reference"`
    Narration     string `json:"narration"`
    BankCode      string `json:"bankCode"`
    AccountNumber string `json:"accountNumber"`
    Currency      string `json:"currency"`
}



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)

    payload := transaction.InitiateBulkTransferReq{}
    res, status, err := transaction.InitiateBulkTransfer(payload)
    if err != nil {
        fmt.Println(err)
    }

    fmt.Println(status)
    fmt.Println(res)
}

좋은 웹페이지 즐겨찾기