Skip to main content

MONEI Connect

Become an integrated payments partner to quickly and easily provide payment services to your platform or marketplace users with MONEI Connect.

Before you begin

📌 Please contact connect@monei.com to register as a partner. The following information is required:

  • IPs of your servers so we can add them to our whitelist
  • Email address that we can send the partner API Key to
  • Email address or URL for partner account notifications (choose 1): With the MONEI Connect integration you’ll receive notifications via email or webhook when your users/merchants register for a MONEI account via your linked partner account. When your users/merchants register, you’ll receive the company details and the associated account ID. You’ll receive notifications when the account is pending approval and when it is approved or rejected

The following data must be provided for all users that require access to your partner account:

  • First name
  • Last name
  • Email
  • Business name
  • Website
  • Tax Identification Number (CIF)
  • Services Description
  • Phone number
note

In the same email to connect@monei.com please let us know whether you want the daily fee to be charged by MONEI to your users/merchants or to your master partner account. MONEI daily fees are:

  • MONEI Pay 0,03 €/day
  • MONEI X 0,1 €/day
  • MONEI PLUS 39,99 €/day

Once you’ve completed the registration for your partner account, you’ll receive:

  • Partner API Key that lets you access our APIs on behalf of each MONEI account bound to your partner account.
  • Unique registration link that lets your users/merchants register their MONEI account. Every user that registers with this link will be bound to your partner account.
  • Access to the Partner Dashboard, where you can see payments, aggregated analytics, and details about each MONEI account bound to your partner account.

Integration

To access the MONEI APIs, you need to provide your Partner API Key in the Authorization header of each request as well as MONEI-Account-ID header with the ID of the MONEI Account to indicate which account you are acting on behalf of.

REST API

POST https://api.monei.com/v1/payments
curl --request POST 'https://api.monei.com/v1/payments' \
--header 'Authorization: <PARTNER_API_KEY>' \
--header 'MONEI-Account-ID: <MONEI_ACCOUNT_ID>' \
--header 'Content-Type: application/json' \
--header 'User-Agent: MONEI/<PARTNER_NAME>/0.1.0' \
--data-raw '{
"amount": 110,
"currency": "EUR",
"orderId": "14379133960355",
"description": "Test Shop - #14379133960355",
"customer": {
"email": "john.doe@microapps.com"
},
"callbackUrl": "https://example.com/checkout/callback"
}'

GraphQL API

POST https://graphql.monei.com
curl --request POST 'https://graphql.monei.com' \
--header 'Authorization: <PARTNER_API_KEY>' \
--header 'MONEI-Account-ID: <MONEI_ACCOUNT_ID>' \
--header 'Content-Type: application/json' \
--header 'User-Agent: MONEI/<PARTNER_NAME>/0.1.0' \
--data-raw '{"query":"{account {name status}}"}'
caution

The Partner shall, under no circumstances, instruct refunds ("Refunds") in an automated manner and shall only provide instructions to MONEI to execute a Refund when a clear, concise, and written order, traceable by the Merchant/User, is in place. In the event that an instruction for a Refund originates from the Partner without express authorization from the Merchant/User, the Partner shall assume full responsibility for the said amount, and in such case, MONEI may immediately terminate the contract entered into with the Partner.

The registration link is unique to your partner account and lets your users/merchants register their MONEI account. Every user that registers with this link will be bound to your partner account.

The registration link is in the following format:

https://dashboard.monei.com/?action=signUp&promo=<PARTNER_CODE>

Optionally you can pass an external ID to the registration link. This ID will be returned in the webhook notifications and can be used to identify the user/merchant in your system.

https://dashboard.monei.com/?action=signUp&promo=<PARTNER_CODE>&mid=<EXTERNAL_ID>&h=<HASH>
  • mid - External ID
  • h - Hash of the external ID. The hash is calculated as HMAC-SHA256(<EXTERNAL_ID>, <PARTNER_API_KEY>)
note

Your account can be configured to make external ID mandatory. In this case, the registration link must contain the external ID and the hash.

Webhook notifications

MONEI will notify you when your users/merchants register for a MONEI account via your linked partner account by sending an HTTP POST request to the url provided during partner onboarding. The request body will contain the account information in JSON format.

The request also contains a MONEI-Signature header. Verify this signature to confirm that the received request is sent from MONEI. You need to use the same PARTNER_API_KEY to verify the signature that you use to authenticate your API requests.

To acknowledge receipt of the request, your endpoint must return a 200 HTTP status code to MONEI. All other response codes, including 3xx codes, indicate to MONEI that you did not receive the event.

If MONEI does not receive a 200 HTTP status code, the notification attempt is repeated. After multiple failures to send the notification over multiple days, MONEI marks the request as failed and stops trying to send it to your endpoint.

The account information sent in the webhook:

  • id string - Account ID
  • name string - Account name
  • status enum - Account status
    • PENDING_CONTRACT - Account is created but the contract is not signed yet
    • PENDING_APPROVAL - Account has signed the contract but is not approved yet
    • APPROVED - Account is approved and ready to accept payments
    • REJECTED - Account is rejected
  • externalId string - External ID
  • business object
    • country string - Business country code
    • legalName string - Business legal name
    • documentNumber string - Business document number
    • email string - Business email
    • website string - Business website
    • address object
      • line1 string - Address line 1
      • line2 string - Address line 2
      • city string - City
      • state string - State
      • zip string - Postal code
      • country string - Country