
Certus Finance
Specialized and Secure Global Payment Services for Any Business
Supports in this guide: Payments, Payouts
Provider website: certus.finance
What you need to do for start processing transactions (brief summary)
- Get your credentials (from Certus Finance)
- Connect in Dashboard
- Send an API request
Prerequisites: get from Certus Finance
Get the following values for your Certus Finance account:
- Merchant ID -> Corefy field
merchant_id-> where to find: Certus Finance backoffice / issued by Certus Finance manager - Merchant account ID -> Corefy field
merchant_account_id-> where to find: Certus Finance backoffice / issued by Certus Finance manager - Merchant account key -> Corefy field
merchant_account_key-> used to sign requests and verify callbacks -> where to find: Certus Finance backoffice / issued by Certus Finance manager - Username -> Corefy field
username-> where to find: Certus Finance backoffice / issued by Certus Finance manager - Password -> Corefy field
password-> where to find: Certus Finance backoffice / issued by Certus Finance manager
One Provider account is used for both Payments and Payouts.
Payments processing (connect Provider account, create payment-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Certus Finance in the provider directory and press Connect at Certus Finance Provider Overview page in the New connection section.
Step 2 - Fill in fields and select settings
- Merchant ID
- Merchant account ID
- Merchant account key
- Username
- Password
- Test Mode -> (enable if you are using sandbox credentials)
- Currency / Features -> choose values available for your Certus Finance account
Success
You have connected Certus Finance Provider account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice. Certus Finance supports card payments via a hosted page, plus two India-only local methods that return requisites for the customer to pay with directly.
Pay-in services
| Currency | Service | Flow |
|---|---|---|
| EUR | payment_card_eur_hpp | Card, redirect to hosted page |
| INR | payment_card_inr_hpp | Card, redirect to hosted page |
| USD | payment_card_usd_hpp | Card, redirect to hosted page |
| INR | upi_qr_inr_invoice | UPI, display requisites (QR code) |
| INR | bank_transfer_inr_invoice | Bank transfer, display requisites |
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "f3a9c1d2-5b7e-4a3c-9c1e-8d2f6a4b7c91",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 100
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "0c8e4f2a-1d6b-4e7a-8c3f-2b9a7d5e6f10",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 100,
"customer": {
"reference_id": "cus_482910",
"name": "John Doe",
"email": "john@example.com",
"phone": "+15551234567",
"address": {
"full_address": "123 Main street",
"city": "Berlin",
"post_code": "10115",
"region": "BE",
"country": "DE"
}
}
}
}
}
Important
For upi_qr_inr_invoice, the customer's UPI ID must be sent in service_fields.vpa when creating the payment.
For upi_qr_inr_invoice and bank_transfer_inr_invoice, the customer receives payment requisites (a UPI QR code, or bank account details) and must confirm the transfer afterwards - they submit the payment reference (a 12-digit UTR for UPI, or the bank transaction ID for a bank transfer) as part of the Corefy checkout flow; no separate API call is needed from your side.
Extended request (MAX)
Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow
Refunds
Certus Finance supports refunds, including partial refunds, but only one refund is allowed per payment - multiple/split refunds aren't supported.
Options
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses. These apply to the card services (payment_card_eur_hpp/payment_card_inr_hpp/payment_card_usd_hpp) only.
Currently available options (1)
is_three_ds_required- controls whether 3D Secure authentication is required for the card payment.
is_three_ds_required
What it does: when enabled, Certus Finance performs 3D Secure authentication for the card payment.
When to use: turn it off only if your Certus Finance account is configured to process card payments without mandatory 3D Secure.
Default: true (3D Secure is required)
Allowed values: true / false
Constants (fallback fields)
Constants are static values that Corefy can send to the provider instead of dynamic data from your API request, when those fields are missing in the request. These apply to the card services only - the UPI/bank transfer services above don't use them.
Priority (predictable rule): 1. If a value is present in the request -> Corefy uses the request value 2. Else if the constant is set -> Corefy uses the constant 3. Else -> provider may reject the request or apply its defaults (depends on provider)
Currently available constants (constant -> Corefy API field)
FIRST_NAME->customer.nameLAST_NAME->customer.nameFULL_ADDRESS->customer.address.full_addressCITY->customer.address.cityPOST_CODE->customer.address.post_codeSTATE_CODE->customer.address.regionCOUNTRY_CODE->customer.address.countryMOBILE->customer.phonePHONE->customer.phoneEMAIL->customer.email
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Uses the same Provider account connected above - no separate connection step.
First request to Corefy API (MIN)
What it does: creates a payout-invoice. The recipient fields required in fields differ per currency/service.
Payout services and recipient fields
| Currency | Service | Recipient fields (fields) |
|---|---|---|
| UAH | certus_transfer | shipping_first_name, shipping_last_name, shipping_country_code, shipping_mobile, secret_word |
| INR | upi_inr | vpa |
| INR | bank_transfer_inr | bank_name, bank_code, beneficiary_full_name, account_number, account_type |
Payout - MIN (INR, UPI)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "6b2d9a4e-3f7c-4a1b-9d6e-5c8a2f1b7e40",
"service": "upi_inr",
"currency": "INR",
"amount": 500,
"fields": {
"vpa": "johndoe@upi"
}
}
}
}
Payout - MAX (INR, bank transfer)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "9d4f1c7a-6e2b-4c8d-a1f3-7b5e9c2d6a81",
"service": "bank_transfer_inr",
"currency": "INR",
"amount": 500,
"fields": {
"bank_name": "HDFC Bank",
"bank_code": "HDFC0001234",
"beneficiary_full_name": "Rahul Sharma",
"account_number": "1234567890",
"account_type": "savings"
}
}
}
}
Extended request (MAX)
Why add extra fields (typical reasons): - Provide additional customer details for compliance/reconciliation - Positively influence conversion rate - Include optional fields required by your specific flow
Additional info
-
Active reconciliation is available - both Payments and Payouts support an active status request in addition to the asynchronous callback.
-
Callback routing is automatic - Corefy generates and sends the notification URL with each request, so there's no separate callback endpoint to configure in your Certus Finance account.
-
No recurring - this connector does not support saving/charging a token through Corefy.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify Merchant ID/Merchant account ID/Merchant account key/Username/Password for the selected environment (sandbox vs production)
- Payment stuck pending for UPI/bank transfer -> the customer needs to confirm the transfer with the payment reference (UTR/bank transaction ID) before it finalizes
- Currency or service is not supported -> confirm allowed currencies/services in your Certus Finance account and in Corefy
- Refund fails -> only one refund is allowed per payment; multiple/split refunds aren't supported
- Missing customer data fields (card payments) -> set constants (see Constants) or provide fields in the API request
Question
Still looking for help connecting your Certus Finance account? Please contact our support team!