API Reference

List Payment Methods

Use this API to list the supported payment methods provided by Pay1st

Optionally used in Gateway Integration

Overview

The Payment Methods API allows retrieval of a list of available payment methods supported by Pay1st. This API uses GET to retrieve the payment method information and returns a JSON response containing details about each payment method.

Integrating this will enable Pay1st payment methods to be shown on the Pay1st Partner’s frontend screens.

Pre Requisites

API Description

Headers

HeaderDescription/Value
AccessTokenThis is the Access Tokenfield returned from the Authentication - Generate Access Token response. This should be in the format Bearer <AccessToken>
Content-Typeapplication/vnd.carry1st.payments.paymentchannel+json

URL Format

To retrieve a list of available payment methods, make a GET request to the following endpoint:

GET /api/pay1st/payments/methods?countryCode=<COUNTRY_CODE>

List of URL Query Parameters

ParameterFormatMandatoryDescription
countryCodeStringYThe country code to list payment methods for.

Response

The API will respond with a JSON object containing an array of payment methods.

Example Successful Response

{
    "data": {
        "groups": [
            {
                "id": 1,
                "name": "Credit / Debit Card",
                "imageLocation": "visa_mastercard.svg",
                "channels": [
                    {
                        "id": 2,
                        "paymentOption": {
                            "id": 3,
                            "name": "Paystack",
                            "code": "PAYSTACK",
                            "status": "ACTIVE"
                        },
                        "channel": {
                            "id": 8,
                            "name": "Visa",
                            "code": "VISA",
                            "paymentMethod": "CARD",
                            "status": "ACTIVE",
                            "channelCode": "VI",
                            "imageLocation": "visa.svg"
                        },
                        "paymentMethodType": {
                            "id": 5,
                            "name": "Basic",
                            "code": "BASIC",
                            "requiredParameters": "{\"personalInfo\":{\"firstName\":{\"dataType\":\"string\"},\"lastName\":{\"dataType\":\"string\"},\"email\":{\"dataType\":\"string\"},\"phoneNumber\":{\"dataType\":\"string\"}}}",
                            "canSaveCredentials": false,
                            "canEditCredential": false,
                            "status": "ACTIVE"
                        },
                        "countryCodes": [
                            "NG"
                        ],
                        "currencyCode": "NGN",
                        "localExchangeRate": 1,
                        "authorizationUrl": "",
                        "status": "ACTIVE",
                        "displayOrder": 36,
                        "refundNote": "",
                        "detailedRefundNote": "",
                        "minChargeAmount": 1,
                        "whaleCustomerExempted": false
                    }
                ]
            },
            {
                "id": 45,
                "name": "PAGA Group",
                "imageLocation": "b36bd980-7f10-4375-a31c-fbd315298c1b.png",
                "channels": [
                    {
                        "id": 173,
                        "paymentOption": {
                            "id": 9,
                            "name": "Paga",
                            "code": "PAGA",
                            "status": "ACTIVE"
                        },
                        "channel": {
                            "id": 150,
                            "name": "Paga Wallet V2",
                            "code": "PAGA_WALLET_V2",
                            "paymentMethod": "PAGA_WALLET_V2",
                            "status": "ACTIVE",
                            "imageLocation": "3befbe6b-9185-44e4-bbe5-dc0aa65b84dc.png"
                        },
                        "paymentMethodType": {
                            "id": 9,
                            "name": "Basic Phone",
                            "code": "BASIC_PHONE",
                            "requiredParameters": "{\"personalInfo\":{\"firstName\":{\"dataType\":\"string\"},\"lastName\":{\"dataType\":\"string\"},\"email\":{\"dataType\":\"string\"},\"phoneNumber\":{\"dataType\":\"string\"}},\"paymentInfo\":{\"phoneNumber\":{\"dataType\":\"string\"}}}",
                            "canSaveCredentials": true,
                            "canEditCredential": true,
                            "status": "ACTIVE"
                        },
                        "countryCodes": [
                            "NG",
                            "ZA",
                        ],
                        "currencyCode": "NGN",
                        "localExchangeRate": 1,
                        "authorizationUrl": "",
                        "status": "ACTIVE",
                        "displayOrder": 164,
                        "refundNote": "",
                        "detailedRefundNote": "",
                        "minChargeAmount": 1
                    },
                    {
                        "id": 196,
                        "paymentOption": {
                            "id": 9,
                            "name": "Paga",
                            "code": "PAGA",
                            "status": "ACTIVE"
                        },
                        "channel": {
                            "id": 154,
                            "name": "USSD",
                            "code": "USSD_BANK_TRANSFER",
                            "paymentMethod": "USSD_BANK_TRANSFER",
                            "status": "ACTIVE",
                            "channelCode": ""
                        },
                        "countryCodes": [
                            "NG"
                        ],
                        "currencyCode": "NGN",
                        "localExchangeRate": 1,
                        "authorizationUrl": "",
                        "status": "ACTIVE",
                        "displayOrder": 184,
                        "refundNote": "",
                        "detailedRefundNote": "",
                        "minChargeAmount": 1
                    }
                ]
            },
            {
                "id": 37,
                "name": "Nigeria banks",
                "imageLocation": "c0847bd7-a01b-4968-a4aa-ee4f5b2c8cd4.png",
                "channels": [
                    {
                        "id": 92,
                        "paymentOption": {
                            "id": 3,
                            "name": "Paystack",
                            "code": "PAYSTACK",
                            "status": "ACTIVE"
                        },
                        "channel": {
                            "id": 48,
                            "name": "Kuda Bank",
                            "code": "KUDA_BANK",
                            "paymentMethod": "BANK_TRANSFER",
                            "status": "ACTIVE",
                            "channelCode": "50211",
                            "imageLocation": "7988e7b5-587e-459e-9cd3-57bb753b60c8.png"
                        },
                        "paymentMethodType": {
                            "id": 2,
                            "name": "Kuda Bank",
                            "code": "KUDA_BANK",
                            "requiredParameters": "{\"personalInfo\":{\"firstName\":{\"dataType\":\"string\"},\"lastName\":{\"dataType\":\"string\"},\"email\":{\"dataType\":\"string\"},\"phoneNumber\":{\"dataType\":\"string\"}},\"paymentInfo\":{\"phoneNumber\":{\"dataType\":\"string\"}}}",
                            "canSaveCredentials": true,
                            "canEditCredential": true,
                            "status": "ACTIVE"
                        },
                        "countryCodes": [
                            "NG"
                        ],
                        "currencyCode": "NGN",
                        "localExchangeRate": 1,
                        "authorizationUrl": "",
                        "status": "ACTIVE",
                        "displayOrder": 119,
                        "refundNote": "",
                        "detailedRefundNote": "",
                        "minChargeAmount": 1,
                        "maxChargeAmount": 15000
                    }
                ]
            }
        ],
        "channels": [
            {
                "id": 161,
                "paymentOption": {
                    "id": 22,
                    "name": "Opay",
                    "code": "OPAY",
                    "status": "ACTIVE"
                },
                "channel": {
                    "id": 131,
                    "name": "Opay Wallet",
                    "code": "OPAY_WALLET",
                    "paymentMethod": "OPAY_WALLET",
                    "status": "ACTIVE",
                    "imageLocation": "66fdef47-169e-4f64-8df6-8bd6b9bd47d9.png"
                },
                "countryCodes": [
                    "NG"
                ],
                "currencyCode": "NGN",
                "platforms": [
                    "SHOP"
                ],
                "localExchangeRate": 1,
                "authorizationUrl": "",
                "status": "ACTIVE",
                "displayOrder": 152,
                "refundable": false,
                "refundNote": "",
                "detailedRefundNote": "",
                "minChargeAmount": 3,
                "maxChargeAmount": 30000
            },
            {
                "id": 101,
                "paymentOption": {
                    "id": 14,
                    "name": "Chipper",
                    "code": "CHIPPER",
                    "status": "ACTIVE"
                },
                "channel": {
                    "id": 95,
                    "name": "Chipper Nigeria",
                    "code": "CHIPPER_NIGERIA",
                    "paymentMethod": "CHIPPER_NIGERIA",
                    "status": "ACTIVE",
                    "imageLocation": "e0f0ddcf-ef61-4b4f-ae9c-0895b8c8dcd6.png"
                },
                "countryCodes": [
                    "NG"
                ],
                "currencyCode": "NGN",
                "platforms": [
                    "WEB",
                    "SHOP"
                ],
                "localExchangeRate": 1,
                "authorizationUrl": "",
                "status": "ACTIVE",
                "displayOrder": 128,
                "refundable": false,
                "refundNote": "",
                "detailedRefundNote": "",
                "minChargeAmount": 1
            },
            {
                "id": 153,
                "paymentOption": {
                    "id": 3,
                    "name": "Paystack",
                    "code": "PAYSTACK",
                    "status": "ACTIVE"
                },
                "channel": {
                    "id": 128,
                    "name": "Verve",
                    "code": "VERVE",
                    "paymentMethod": "CARD",
                    "status": "ACTIVE",
                    "imageLocation": "9c23b8e4-c20c-4612-a0f3-9cb6d01db5ee.png"
                },
                "paymentMethodType": {
                    "id": 10,
                    "name": "Paystack card",
                    "code": "PAYSTACK_CARD",
                    "requiredParameters": "{\"personalInfo\":{\"firstName\":{\"dataType\":\"string\"},\"lastName\":{\"dataType\":\"string\"},\"email\":{\"dataType\":\"string\"},\"phoneNumber\":{\"dataType\":\"string\"}},\"paymentInfo\":{\"cardNumber\":{\"dataType\":\"string\"},\"expiryMonth\":{\"dataType\":\"string\"},\"expiryYear\":{\"dataType\":\"string\"}}}",
                    "canSaveCredentials": true,
                    "canEditCredential": false,
                    "status": "ACTIVE"
                },
                "countryCodes": [
                    "NG"
                ],
                "currencyCode": "NGN",
                "platforms": [
                    "WEB",
                    "AND",
                    "SHOP",
                    "IOS"
                ],
                "localExchangeRate": 1,
                "authorizationUrl": "",
                "status": "ACTIVE",
                "displayOrder": 14,
                "minChargeAmount": 1,
                "whaleCustomerExempted": false
            },
            {
                "id": 186,
                "paymentOption": {
                    "id": 24,
                    "name": "PalmPay",
                    "code": "PALMPAY",
                    "status": "ACTIVE"
                },
                "channel": {
                    "id": 74,
                    "name": "PalmPay",
                    "code": "PALM_PAY",
                    "paymentMethod": "BANK_TRANSFER",
                    "status": "ACTIVE",
                    "channelCode": "999991",
                    "imageLocation": "94d4e85e-5637-4086-974f-f4e3727c4f07.png"
                },
                "paymentMethodType": {
                    "id": 5,
                    "name": "Basic",
                    "code": "BASIC",
                    "requiredParameters": "{\"personalInfo\":{\"firstName\":{\"dataType\":\"string\"},\"lastName\":{\"dataType\":\"string\"},\"email\":{\"dataType\":\"string\"},\"phoneNumber\":{\"dataType\":\"string\"}}}",
                    "canSaveCredentials": false,
                    "canEditCredential": false,
                    "status": "ACTIVE"
                },
                "countryCodes": [
                    "NG"
                ],
                "currencyCode": "NGN",
                "platforms": [
                    "WEB",
                    "SHOP_UAT",
                    "AND",
                    "SHOP",
                    "IOS"
                ],
                "localExchangeRate": 1,
                "authorizationUrl": "https://h5-daily.palmpay.app/h5-checkout/inner?broswerSource=Internal&countryCode=NG&appId=L240927093144197211431",
                "status": "ACTIVE",
                "displayOrder": 5,
                "refundable": false,
                "refundNote": "",
                "detailedRefundNote": "",
                "minChargeAmount": 1,
                "integrationType": "PARTNER_HOSTED"
            },
            {
                "id": 158,
                "paymentOption": {
                    "id": 20,
                    "name": "dLocal",
                    "code": "DLOCAL",
                    "status": "ACTIVE"
                },
                "channel": {
                    "id": 130,
                    "name": "Opay QR",
                    "code": "OPAY_QR",
                    "paymentMethod": "OPAY_QR",
                    "status": "ACTIVE",
                    "imageLocation": "8eab25d8-8cd4-475d-81d9-f74c7fe3a1c1.png"
                },
                "countryCodes": [
                    "NG"
                ],
                "currencyCode": "NGN",
                "platforms": [
                    "SHOP"
                ],
                "localExchangeRate": 1,
                "authorizationUrl": "",
                "status": "ACTIVE",
                "displayOrder": 149,
                "refundable": false,
                "refundNote": "",
                "detailedRefundNote": "",
                "minChargeAmount": 100
            }
        ]
    }
}

The response contains an array of (Payment) Groups and an array of (Payment) Channels. (Payment) Groups are also composed of (Payment) Channels.

Group Fields

NameTypeDescription
idIntegerThe identifier of the Payment Group
nameStringThe name of the Payment Group
imageLocationStringThe image location for the Payment Group logo
channelsArrayList of Channel Objects (see Channel Fields)

Channels Fields

Note: This is the response of the Channels Array. This should not be confused with the Channel object

NameTypeDescription
idIntegerThe channel identifier
paymentOptionObjectRepresents the payment gateway that is used for the channel
channelObjectRepresents data about the payment channel
paymentMethodTypeObjectProvides metadata about the payment method to facilitate seamless payments for the user.
countryCodesArray of StringsList of Country Codes. Each country code is represented in (ISO-3166) Alpha-2 form
currencyCodeStringCurrency Code
platformsArray of StringsList of Platforms in which this channel is supported. For Pay1st Integrations, only WEB values represent valid channels
localExchangeRateIntegerThe local exchange rate that is used for this payment channel
authorizationUrlStringThe authorization URL used by the channel
statusStringThe status of the channel. Valid values are ACTIVE, SUSPENDED, DELETED
displayOrderIntegerAn integer representing the preferred display order of the channel
refundNoteStringThe default note summary that is used when issuing refunds
detailedRefundNoteStringA more detailed note summary that is used when issuing refunds
minChargeAmountIntegerThe minimum Payment amount that is required by the PSP in order to make a successful Payment
whaleCustomerExemptedBooleanA flag that indicates whether large purchasers are exempted from any Payment velocity limits
maxChargeAmountIntegerThe maximum Payment amount that is allowed by the PSP in order to make a successful Payment
refundableBooleanA flag to indicate whether this payment method supports refunds
integrationTypeStringThis is an indicator for the type of PSP integration. Possible values are S2S and PARTNER_HOSTED. Partner hosted integration types typically involve redirects to the PSP domain

(Payment) Channel Fields

NameTypeDescription
idIntegerThe numeric identifier of the Payment Channel
nameStringThe display name of the Payment Channel
codeStringThe unique code of the Payment Channel
paymentMethodStringRepresents the type of Payment Method that the Payment Channel represents
statusStringThis is the status of the Channel
channelCodeStringThis is the unique code for the Channel
imageLocationStringThis is a string that points to an image name. This is typically the logo or symbol that represents the Payment Channel

Payment Method Type Fields

NameTypeDescription
idIntegerThe numeric identifier of the Payment Method Type
nameStringThe display name of the Payment Method Type
codeStringThe unique code of the Payment Method Type
requiredParametersStringThis contains a JSON object in raw string format that details the required parameters for the payment method type
canSaveCredentialsBooleanA flag to indicate that credentials can be saved
canEditCredentialBooleanA flag to indicate that credentials can be edited for future Payments
statusStringThe status of the channel. Valid values are ACTIVE, SUSPENDED, DELETED

HTTP Response Codes

The List Payment Method API may return the following HTTP Response Codes:

HTTP Status CodeNameDescription
200SuccessThis indicates that the request has been successful
400Bad RequestThe country code could be invalid or missing from the request
401UnauthorizedThe Access Token might be missing or invalid (see Authentication - Generate Access Token)
403ForbiddenThe credentials provided might not have access to the resources required

Error Handling

See Handling Error Codes for more details on handling error responses.