Skip to content

Blu Penguin Merchant API v1 (v1)

Please find complete documentation from https://docs.transaction-monitor.io/.

Languages
Servers
Mock server
https://docs.transaction-monitor.io/_mock/blupenguin_openapi_v1/
Blu Penguin Merchant API sandbox
https://api.sandbox.transaction-monitor.io/
Blu Penguin Merchant API production
https://api.transaction-monitor.io/

Payouts

OperationsWebhooks

Deposits

OperationsWebhooks

Refunds

OperationsWebhooks

Payment Page

Operations

Wallet balances

Operations

Toolkit

Operations

Correspondent Availability

Request

curl -i -X GET \
  https://docs.transaction-monitor.io/_mock/blupenguin_openapi_v1/availability

Responses

If a request has been processed by Blu Penguin successfully.

Bodyapplication/jsonArray [
countrystring(Country)required

The country in which the MMO operates.

Format is ISO 3166-1 alpha-3, three character country code in upper case. Read more from Wikipedia.

Example: "ZMB"
correspondentsArray of objects(GatewayAvailabilityCorrespondentResult)required
correspondents[].​correspondentstring(Correspondent)required

The correspondent code refers to the specific MMO that the specified phone number (MSISDN) has an active mobile money wallet with.

You can find all the supported correspondents listed here.

The active configuration endpoint provides the list of correspondents configured for your account.

You can use the predict correspondent enpoint to predict the correct correspondent to use based on the phone number (MSISDN).

Example: "MTN_MOMO_ZMB"
correspondents[].​operationTypesArray of objects(GatewayAvailabilityOperationTypeResult)required
correspondents[].​operationTypes[].​operationTypestring(GatewayAvailabilityOperationType)required

The type of financial operation for which the operation status applies.

  • PAYOUT - Relates to payout (disbursement) and refund transactions.
  • DEPOSIT - Relates to deposit (collection) transactions.
Enum"PAYOUT""DEPOSIT"
correspondents[].​operationTypes[].​statusstring(GatewayAvailabilityStatus)required

Possible operation statuses for correspondents and their operation types:

  • OPERATIONAL - The MMO (correspondent) is operational and open for processing requests.
  • DELAYED - The MMO (correspondent) is having problems processing payouts. Our payment operations team is currently monitoring the MMO. Payouts are being enqueued and will be processed once the problems have been resolved.
  • CLOSED - The MMO (correspondent) is having problems and all requests are being rejected by Blu Penguin.
Enum"OPERATIONAL""DELAYED""CLOSED"
]
Response
application/json
[ { "country": "GHA", "correspondents": [ … ] }, { "country": "ZMB", "correspondents": [ … ] } ]

Active Configuration

Request

Security
bearerAuth
curl -i -X GET \
  https://docs.transaction-monitor.io/_mock/blupenguin_openapi_v1/active-conf \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

If a request has been processed by Blu Penguin successfully.

Bodyapplication/json
merchantIdstringrequired

Your unique alphanumeric ID in the Blu Penguin platform.

Example: "MERCHANT_INC"
merchantNamestringrequired

Your company name as configured in the Blu Penguin platform.

Example: "Merchant Inc."
countriesArray of objects(CustomerActiveCountryConfigResponse)required
countries[].​countrystring(Country)required

The country in which the MMO operates.

Format is ISO 3166-1 alpha-3, three character country code in upper case. Read more from Wikipedia.

Example: "ZMB"
countries[].​correspondentsArray of objects(CustomerActiveGatewayConfigResponse)required
countries[].​correspondents[].​correspondentstring(Correspondent)required

The correspondent code refers to the specific MMO that the specified phone number (MSISDN) has an active mobile money wallet with.

You can find all the supported correspondents listed here.

The active configuration endpoint provides the list of correspondents configured for your account.

You can use the predict correspondent enpoint to predict the correct correspondent to use based on the phone number (MSISDN).

Example: "MTN_MOMO_ZMB"
countries[].​correspondents[].​currencystring(Currency)required

The currency in which the amount is specified.

Format must be the ISO 4217 three character currency code in upper case. Read more from Wikipedia.

You can find all the supported currencies that the specific correspondent supports from here.

The active configuration endpoint provides the list of correspondents configured for your account together with the currencies.

Example: "ZMW"
countries[].​correspondents[].​ownerNamestring

The name of the company that is shown to the customer on the SMS receipt.

countries[].​correspondents[].​operationTypesArray of objects(CustomerActiveOperationTypeConfigResponse)required
countries[].​correspondents[].​operationTypes[].​operationTypestringrequired
Enum"DEPOSIT""PAYOUT""PUSH_DEPOSIT""REFUND"
Example: "DEPOSIT"
countries[].​correspondents[].​operationTypes[].​minTransactionLimitstring^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])...required

Minimum transaction amount allowed for this correspondent for this operation type.

Example: "1.0000"
countries[].​correspondents[].​operationTypes[].​maxTransactionLimitstring^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])...required

Maximum transaction amount allowed for this correspondent for this operation type.

Example: "10000.0000"
Response
application/json
{ "merchantId": "MERCHANT_INC", "merchantName": "Merchant Inc.", "countries": [ { … }, { … } ] }

Predict Correspondent

Request

Security
bearerAuth
Bodyapplication/jsonrequired
msisdnstring(FlexibleMsisdnValue)required

The phone number (MSISDN) to predict the correspondent of. Must contain the country code.

The input will be sanitized by:

  • removing the leading + sign
  • removing all whitespace
  • removing non-numeric characters
Example: "+260 763-456789"
curl -i -X POST \
  https://docs.transaction-monitor.io/_mock/blupenguin_openapi_v1/v1/predict-correspondent \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "msisdn": "+260 763-456789"
  }'

Responses

Correspondent prediction was successful

Bodyapplication/json
countrystring(Country)required

The country in which the MMO operates.

Format is ISO 3166-1 alpha-3, three character country code in upper case. Read more from Wikipedia.

Example: "ZMB"
operatorstringrequired

The name of the MMO associated with the specified MSISDN.

Example: "MTN"
correspondentstring(Correspondent)required

The correspondent code refers to the specific MMO that the specified phone number (MSISDN) has an active mobile money wallet with.

You can find all the supported correspondents listed here.

The active configuration endpoint provides the list of correspondents configured for your account.

You can use the predict correspondent enpoint to predict the correct correspondent to use based on the phone number (MSISDN).

Example: "MTN_MOMO_ZMB"
msisdnstring(PredictedMsisdnValue)required

The correctly formatted phone number (MSISDN) from your original request that is in a valid format for the rest of the Blu Penguin Merchant API.

Example: "260763456789"
Response
application/json
{ "country": "ZMB", "operator": "MTN", "correspondent": "MTN_MOMO_ZMB", "msisdn": "260763456789" }