Testing Onramps
In the Test/Sandbox environment, use the following test accounts to simulate different onramp scenarios.
✅ Successful Transactions
Successful Virtual Account Onramp
Account Details:
- Email:
[email protected]
Example:
{
"method": "bank",
"chargeDetails": {
"email": "[email protected]"
}
}Successful Mobile Money Onramp
Account Details:
- Phone Number:
254712345678 - momoOperatorId:
mpesa
Example:
{
"method": "momo",
"chargeDetails": {
"phoneNumber": "254787654321",
"momoOperatorId": "mpesa"
}
}❌ Failed Transactions
Failed Bank Account
Account Details:
- Email:
[email protected]
Example:
{
"method": "bank",
"chargeDetails": {
"email": "[email protected]"
}
}Failed Mobile Money
Account Details:
- Phone Number:
254787654321 - momoOperatorId:
mpesa
Example:
{
"method": "momo",
"chargeDetails": {
"phoneNumber": "254787654321",
"momoOperatorId": "mpesa"
}
}↪️ OPay Redirect Scenarios
Sandbox OPay onramps are redirect-first. Every valid OPay initiation returns stepRequired: "redirect" and a redirectUrl; opening that URL completes the simulated payment.
| Amount | Expected result |
|---|---|
111 | Becomes successful after the redirect is completed |
999 | Becomes failed after the redirect is completed |
Any amount other than 111 follows the failed redirect outcome. Use 999 as the documented failure fixture.
Use any valid customer email in chargeDetails.email, a unique externalReference, and the sandbox endpoint:
POST https://crypto.honeycoin.app/api/sandbox/minting/onrampExample:
{
"senderAmount": 111,
"senderCurrency": "NGN",
"receiverCurrency": "USDC",
"chain": "BASE",
"receiverAddress": "0xbac726e1df4dd58ca13bf6b9f23664df5d07d2fe",
"method": "opay",
"chargeDetails": {
"email": "[email protected]"
},
"externalReference": "sandbox_onramp_opay_001",
"successRedirectUrl": "https://yourapp.example/onramp/success",
"failureRedirectUrl": "https://yourapp.example/onramp/failed"
}Initial response:
{
"success": true,
"data": {
"transactionId": "sandbox_transaction_id",
"stepRequired": "redirect",
"redirectUrl": "https://checkout.honeycoin.app/sdk/transaction/sandbox/sandbox_transaction_id/redirect"
}
}Open data.redirectUrl, then verify the final transaction state through a webhook or the get transaction endpoint. Only chargeStatus: "successful" is final proof of payment. The sandbox flow does not contact a live payment provider.
Updated 21 days ago
