POST
/
payment-codes
curl --request POST \
  --url https://api.monime.io/payment-codes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: <idempotency-key>' \
  --header 'Monime-Space-Id: <monime-space-id>' \
  --data '{
  "name": "EDSA Office Top-up",
  "mode": "oneTime",
  "isActive": true,
  "amount": {
    "currency": "<string>",
    "value": 123
  },
  "duration": "1h30m",
  "customerTarget": {
    "name": "Musa Kamara",
    "reference": "0123456789",
    "payingPhoneNumber": "078000000"
  },
  "financialTarget": {
    "expectedPaymentCount": 10,
    "expectedPaymentSum": {
      "currency": "<string>",
      "value": 123
    }
  },
  "allowedProviders": [
    "m17",
    "m18"
  ],
  "financialAccountId": "<string>",
  "metadata": {}
}'
{
  "success": true,
  "messages": [
    "<any>"
  ],
  "result": {
    "id": "pmc-TJh76H8hj778hftdtu66gjio",
    "name": "Home EDSA Meter Top-up",
    "mode": "oneTime",
    "isActive": true,
    "status": "pending",
    "ussdCode": "\\*715\\*1\\*0123456789#",
    "amount": {
      "currency": "<string>",
      "value": 123
    },
    "customerTarget": {
      "name": "Musa Kamara",
      "reference": "0123456789",
      "payingPhoneNumber": "078000000"
    },
    "financialTarget": {
      "expectedPaymentCount": 10,
      "expectedPaymentSum": {
        "currency": "<string>",
        "value": 123
      }
    },
    "allowedProviders": [
      "m17",
      "m18"
    ],
    "progress": {
      "isCompleted": true,
      "totalPaymentCount": 123,
      "totalPaymentSum": {
        "currency": "<string>",
        "value": 123
      }
    },
    "financialAccountId": "<string>",
    "expireTime": "2023-11-07T05:31:56Z",
    "createTime": "2023-11-07T05:31:56Z",
    "metadata": {}
  }
}

Authorizations

Authorization
string
header
required

Bearer HTTP authentication specified with the header Authorization: Bearer <access_token>

Headers

Monime-Space-Id
string
required

The value is the tenancy parameter that Monime used to determine which space the request is intended for.

Maximum length: 100
Idempotency-Key
string
required

This header is used to uniquely identify a request, ensuring that the operation is not performed more than once during retries.

Maximum length: 64

Body

application/json
name
string | null

The name or intent indicating the purpose or use of the payment code.

Required string length: 1 - 100
Example:

"EDSA Office Top-up"

mode
enum<string>
default:oneTime

Specifies whether the payment code can be used only once or multiple times.

Available options:
oneTime,
recurrent
isActive
boolean
default:true

Denotes whether the payment code is active.

amount
object

The amount to be paid. If Mode is recurrent, and financial target sum is also set, this represents the amount to be paid for every instance of payment for this code.

duration
string
default:5m

The duration of the payment code, indicating how long the code will remain active before expiring.

Example:

"1h30m"

customerTarget
object | null

The customer this payment code is targeting.

financialTarget
object | null

The financial target for this payment code.

allowedProviders
string[] | null

The list of MoMo provider IDs for which the payment code is allowed to be used.

Example:
["m17", "m18"]
financialAccountId
string | null

The ID of the financial account where the amount is settled to. This default to the owner's Main financial account.'

metadata
object | null

The metadata for the payment code.

Response

200 - application/json
OK
success
boolean

Represents the status of the query operation, confirming if it was successful. This field is always true

messages
any[]

Contains a list of messages providing relevant information or feedback related to the query or operation

result
object