Provider · Mobile money
D-Money direct integration
Djibouti Telecom's mobile-money rail. Requests are signed with an RSA-PSS keypair issued per merchant — but you don't need to know that: MerasPay handles signing server-side. From the client's perspective the flow is identical to Waafipay's OTP loop.
OTPRSA-PSS
1 · Provision your D-Money RSA key
Generate the keypair in the merchant portal at Settings → Keys → RSA and label it dmoney_signing. The private half is encrypted under your merchant DEK and stays in MerasPay; you never see it.
2 · Server: create the intent
bashbash
curl -X POST https://api.merashub.com/v1/payment_intents \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"amount": 30000,
"currency": "DJF",
"provider": "dmoney",
"customer_msisdn": "+25377xxxxxxx"
}'3 · Browser: collect OTP
tsts
const meras = MerasPay("pk_test_...");
const intent = await meras.confirmPayment(piId, {
client_secret: cs,
otp: "123456",
});ℹ
Signing happens server-side
MerasPay holds the RSA private half encrypted under a per-merchant data key. Every D-Money outbound request is signed in-process, never via a callback to your servers.
Sandbox
123456succeeds999999fails with "invalid pin"- Any other 6-digit OTP fails with "expired"