Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

To be granted access to this API, you will be required to be PCI-DSS certified. For further inquiries, please reach out to integrations@monnify.com

Charge Cards

Monnify allows you to charge your customers who make one-time payments through the use of their cards. To charge a card you will need to make a request to the endpoint below:

This endpoint is protected with OAuth 2.0 Bearer token. To find out more about authorization for Monnify endpoints, check Here

Endpoint URL: {{base_url}}/api/v1/merchant/cards/charge

HTTP Method: POST

The {{base_url}} for test is https://sandbox.monnify.com but when you go live, it changes to the live url

Sample Request Body

{
    "transactionReference": "MNFY|20190514172736|000001",
    "collectionChannel": "API_NOTIFICATION",
    "card": {
        "number": "4111111111111111",
        "expiryMonth": "10",
        "expiryYear": "2022",
        "pin": "1234",
        "cvv": "122"
    }
}

The response that will be gotten depends on the kind of card used for the transaction. There are cards charged with the use of an OTP and those charged without an OTP. See sample response for both scenarios.

Sample Response (For 3DS Secure Authentication)

{
    "requestSuccessful": true,
    "responseMessage": "success",
    "responseCode": "0",
    "responseBody": {
        "status": "BANK_AUTHORIZATION_REQUIRED",
        "secure3dData": {
            "id": "769104908",
            "redirectUrl": "https://0eaf.cardinalcommerce.com/EAFService/jsp/v1/redirect",
            "callBackUrl": "https://webpay.interswitchng.com/collections/api/v1/pay/cardinalCallBack",
            "eciFlag": "07",
            "termUrl": "https://webpay.interswitchng.com/collections/api/v1/pay/cardinalCallBack",
            "acsUrl": "https://0eaf.cardinalcommerce.com/EAFService/jsp/v1/redirect",
            "paReq": "P.29bc9e4fb9c3cdd35c3cd6abf323a7544ed8da1a7b609462f2979c2c8cdf561736fbed57ed447ef69484556311fc0b08399a9b3a8f3ae94900d9e5cb443a1bf257541e1b931b67dfcb4c27ba64d06b53",
            "transactionId": "gJKEbN5MmwlkjcKwYAD0",
            "paymentId": "769104908",
            "method": "POST",
            "md": "769104908"
        },
        "transactionReference": "MNFY|79|20220328040030|001015",
        "paymentReference": "u0v3ysqjp809883",
        "authorizedAmount": 20.0
    }
 }

Sample Response (with no OTP)

{
    "requestSuccessful": true,
    "responseMessage": "success",
    "responseCode": "0",
    "responseBody": {
        "status": "SUCCESS",
        "message": "Transaction Successful",
        "transactionReference": "MNFY|54|20210429142557|000206",
        "paymentReference": "1619702756719",
        "authorizedAmount": 2000.00
    }
}

Sample Response (with OTP)

{
    "requestSuccessful": true,
    "responseMessage": "success",
    "responseCode": "0",
    "responseBody": {
        "status": "OTP_AUTHORIZATION_REQUIRED",
        "message": "OTP Authorization required",
        "otpData": {
            "id": "2000.00-e944ba213f0acbc90a16b292ba353b2f",
            "message": "Please enter OTP. Use 123456 as token"
        },
        "transactionReference": "MNFY|54|20210429142945|000208",
        "paymentReference": "1619702984105",
        "authorizedAmount": 1000
    }
}

Field Parameters

Field

Description

transactionReference

Unique reference generated for the transaction by Monnify

collectionChannel

"API_NOTIFICATION" only enabled merchants can access resource

card

Object containing card information

number

Card number

expiryMonth

Card expiration month

expiryYear

Card expiration year

pin

Card pin from card owner

cvv

Security code behind card

tokenId

Token id from the request response (otpData.id)

token

OTP from card owner (use 12345 for test card)

  • No labels