Skip to main content
This walkthrough takes you from creating your account to your first real payment, without code: open an account, understand the Sandbox/Live split, validate your integration on simulated payments, then go through the steps required to go live. If you are already up and running in Sandbox, go straight to Going live.
The merchant dashboard is currently available in French only. Menu and button names are given in French, followed by their English translation.

Creating your account

Go to i-pay.money and click S’inscrire (Sign up), at the top right of the home page. i-pay.money home page, with the S'inscrire (Sign up) button at the top right Enter your email address, the name of your company or institution, your country and your phone number, then a password (and its confirmation), and accept the terms of use before confirming the account creation. i-pay.money "Création de compte" (Account creation) form, with the Email, company or institution name, Country and Phone fields A confirmation link is sent to the address you entered: click it to activate your account, then log in with your email and password. i-pay.money "Connexion" (Login) page, with the Email or phone number and Password fields You then reach the dashboard, which gives you immediate access to the Sandbox environment. Your API keys are then retrieved from this dashboard: where to find them, how to use them and how to protect them is described in Authentication.

Sandbox and Live

Both environments expose the same endpoints. Only the key you use and the environment header described in Authentication determine which one you are calling. Since the two accounts are fully separate, a key from one environment used with the other environment returns an authentication error, never a silent success. Plan for one configuration per environment (a dedicated environment variable for each) rather than a simple boolean switch in your code.

Testing your integration

In Sandbox, check the complete flow, from payment creation to confirmation of its status.
  1. The customer confirms their order or payment request on your website.
  2. Your server creates the payment with the Sandbox secret key — see Create a transaction.
  3. You store the references returned by iMoney Encaissement and attach them to your order.
  4. You confirm the final status, through a notification or a status lookup, before delivering the order or activating the paid service.
The status returned at creation time is never sufficient proof of payment on its own: it can still change. Only deliver an order after a status confirmed in step 4. The two ways of getting this status complement each other rather than being mutually exclusive: the webhook notification tells you as soon as the payment changes state, while the status lookup gives the status at the time of the call and serves as a fallback or for reconciliation. In both cases, process the update idempotently: the same notification may arrive twice. Cover at least three cases before going live — a successful payment, a validation error and a duplicate reference. The test numbers, the Sandbox-specific minimum amounts and the corresponding requests are gathered in the Sandbox and testing guide. If you delegate the payment interface to a hosted page rather than building your own form, the principle stays the same on the server side: the result is checked through a status lookup or a webhook, never on the customer’s redirection alone — see Payment by link.

Going live

  • Get your account validated for the Live environment. Activation is not automatic: you submit your legal information from the dashboard, then the iMoney Encaissement team reviews and validates your file. Live access is only opened after this validation — do not promise your users instant activation.
  • Confirm the payment methods enabled on the account for the target country, and only open in Live the ones you have tested in Sandbox.
  • Set up your Live configuration. The endpoints do not change; only the key and the target environment change. Store the Live secret key in your production secrets manager, in a variable separate from the Sandbox one — see Authentication.
  • Check notifications in the Live environment. A webhook configured in Sandbox does not apply to your Live flows: configure it again with a stable public HTTPS URL, a secret specific to this environment and the same events as in Sandbox — see Webhooks.
  • Confirm each payment on the server side before any delivery, and regularly reconcile those still pending — see Retrieve a transaction.
  • Review your error handling. A validation or access error is not a transient incident: fix the request rather than replaying it unchanged, and if you get no response, check the payment status before any new attempt — see Errors.
  • Secure your exchanges: HTTPS for your application as well as for your webhook URL, API calls from your server only, and keys, phone numbers and payment data masked in your logs.
  • Make a controlled real payment of a small amount before opening the service to all your users: confirm that the notification is actually received and that the retrieved status is consistent, and set up alerts on API errors, non-2xx webhooks and payments that stay pending for a long time.