Paysecure
World-class payment orchestration. One integration, full control.
Supports in this guide: Payments, Payouts
Provider website: paysecure.com
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from Paysecure)
- Connect in Dashboard
- Send an API request
Choose account type
Paysecure can be connected in different ways (depending on your needs):
- If you do H2H card payments (card data sent directly) -> choose H2H Merchant account
- If you do local payment methods (QuickBit, bank transfer, PIX, Interac) or payouts -> choose Provider account
If you're not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from Paysecure
Submit a connection request at paysecure.com/contact-us or contact your Paysecure account manager directly to get your account verified and receive the following credentials.
For H2H Merchant account:
- API Key -> Corefy field
api_key. - API Type -> Corefy field
api_type-> onlyServer to Serveris available for this connector. - S2S Token (optional) -> Corefy field
s2s_token. - Brand ID -> Corefy field
brand_id. - Webhook Public Key (optional) -> Corefy field
webhook_public_key-> used to verify callback notifications from Paysecure, if your account requires it.
For Provider account:
- Brand ID -> Corefy field
brand_id. - API Key -> Corefy field
api_key. - Webhook Public Key (optional, text or file upload) -> Corefy field
webhook_public_key/webhook_public_key_file.
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open Paysecure in the provider directory and press Connect at Paysecure Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- API Key
- API Type ->
Server to Server - S2S Token (optional)
- Brand ID
- Webhook Public Key (optional)
- Strict Customer Data Validation -> multi-select the customer fields you want Corefy to hard-require on every transaction (see note below)
- Test Mode -> (enable if you are using sandbox credentials)
Choose Currency and Features. USD and EUR are confirmed; check with your Corefy account manager which are enabled for your account.
Success
You have connected Paysecure H2H Merchant account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice; card data itself is collected and submitted separately by Corefy's checkout/SDK layer, not as part of this request.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"email": "johnsmith@gmail.com"
}
}
}
}
Important
customer.email is always required on this flow - the sale is rejected outright without it, regardless of any other settings. Everything else in customer is optional unless you've selected it under Strict Customer Data Validation.
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "payment_card_eur_hpp",
"currency": "EUR",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"email": "johnsmith@gmail.com",
"phone": "+15551234567",
"individual_tax_id": "123456789",
"address": {
"full_address": "1 Main street",
"country": "US",
"region": "California",
"city": "Los Angeles",
"post_code": "90001"
}
}
}
}
}
customer.address.region is matched against Paysecure's own state/subdivision list using a fuzzy lookup (it accepts a full state name or an ISO code, in any case) and converted to the code Paysecure expects - if it can't be resolved, the country code is sent in its place instead. This connector also supports Apple Pay and Google Pay on this same account (no separate service code needed).
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
Options
Options are configured on the Corefy side and affect how Corefy builds provider requests or processes responses.
Currently available options (4)
check_trans_allowed- asks Paysecure to pre-verify the customer is allowed to transact before creating the purchase.finalize_on_complete_sale- actively determines the final status right after the 3D Secure challenge completes, instead of relying only on that response.ftd_transaction- flags whether this is a first-time-deposit transaction.ignore_callback- tells Corefy to disregard Paysecure's own callback notifications entirely.
check_trans_allowed
What it does: when enabled, Corefy first calls Paysecure to check whether the customer (by IP/email) is allowed to transact, before creating the purchase itself.
When to use: enable only if instructed by Paysecure or your Corefy account manager.
Default: false
Allowed values: true / false
finalize_on_complete_sale
What it does: after the customer completes a 3D Secure challenge, Corefy actively determines the final transaction status instead of using the complete-sale response as-is.
When to use: enable only if instructed by Paysecure or your Corefy account manager.
Default: false
Allowed values: true / false
ftd_transaction
What it does: flags the transaction to Paysecure as a first-time deposit (1) or not (0).
When to use: set it if Paysecure or your account manager asks you to flag first-time deposits distinctly.
Default: not set (flag isn't sent)
Allowed values: 0 / 1
ignore_callback
What it does: when enabled, Corefy ignores callback notifications sent by Paysecure for this connection, relying on status checks/reconciliation instead.
When to use: enable only if instructed by Paysecure or your Corefy account manager.
Default: false
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.
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)
FULL_NAME->customer.namePHONE->customer.phoneSTREET_ADDRESS->customer.address.full_addressCOUNTRY->customer.address.countryPERSONAL_CODE->customer.individual_tax_idCITY->customer.address.cityZIP_CODE->customer.address.post_codeSTATE->customer.address.region
Note
Strict Customer Data Validation (set at connection time) lets you pick which of customer.phone/name/street/country/individual_tax_id/city/post_code/region are hard-required on every transaction for this account (or None to require nothing beyond customer.email). If a selected field can't be resolved from the request or the Constants above, the sale is rejected with an "invalid details" error naming the missing field.
Payments processing (connect Provider account, create payment-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open Paysecure in the provider directory and press Connect at Paysecure Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields and select settings
- Brand ID
- API Key
- Webhook Public Key (optional)
- Currency -> single-select
Success
You have connected Paysecure Provider account!
First request to Corefy API (MIN)
What it does: creates a payment-invoice and returns a redirect link to the chosen local method's payment page.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8e3dbbb0-17af-4c9a-bedb-93bdac6900a2",
"service": "pix_brl_hpp",
"currency": "BRL",
"amount": 10
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "6795502c-e27d-4d07-85e0-93245aab9a3f",
"service": "pix_brl_hpp",
"currency": "BRL",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"name": "John Smith",
"phone": "+5511999999999"
},
"fields": {
"cpf_number": "70634982826"
}
}
}
}
fields.cpf_number (the customer's Brazilian tax ID) is required for PIX specifically. This connector also supports QuickBit in EUR/NOK/SEK (use quick_bit_<ccy>_hpp), bank transfer in JPY/AUD (use bank_transfer_<ccy>_hpp), and Interac e-Transfer in CAD (use interac_cad_hpp - customer.address.country is forwarded as CA automatically for this one).
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
No Options or Constants are configured for this flow.
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Uses the same Provider account connection as Payments above - one connection covers both directions, there's nothing extra to fill in for payouts specifically.
First request to Corefy API (MIN)
What it does: creates a payout-invoice and sends funds via PIX or Interac e-Transfer.
Payout - MIN (PIX, Brazil)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "0dde9e79-2c64-4703-adaf-93d710633401",
"service": "pix_brl",
"currency": "BRL",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"email": "johnsmith@gmail.com"
},
"fields": {
"cpf_number": "70634982826",
"document_type": "CPF"
}
}
}
}
Important
fields.cpf_number and fields.document_type are required on every payout on this connector, including Interac - this is a platform-wide validation rule, not specific to PIX. You also need at least one of customer.email or customer.phone.
Payout - MIN (Interac, Canada)
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "3c6d2f8e-8a2a-4e7a-9b1a-2f6a7b9c0d1e",
"service": "interac_cad",
"currency": "CAD",
"amount": 10,
"customer": {
"reference_id": "cus_123",
"email": "johnsmith@gmail.com",
"address": {
"country": "CA"
}
},
"fields": {
"cpf_number": "70634982826",
"document_type": "CPF"
}
}
}
}
The recipient's name can come from customer.name, or from fields.beneficiary_name/fields.beneficiary_lastname if you'd rather not put it in customer.
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
No Options or Constants are configured for this flow.
Additional info
- Callback routing. For H2H Merchant account, callback routing is handled automatically - Corefy generates the callback URL per transaction. For Provider account (Payments and Payouts), callback routing is also automatic.
- Refunds on the H2H flow are full-amount only - partial refunds aren't supported.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify credentials for the selected environment and account type
- H2H payment rejected with an "invalid details" error naming a specific customer field -> that field is selected under your account's Strict Customer Data Validation setting and must be resolvable from the request or Constants
- Payout rejected for missing details -> every payout needs
fields.cpf_number/fields.document_typeplus at least one ofcustomer.email/customer.phone, regardless of method - Currency or service is not supported -> confirm allowed currencies/features in your Paysecure account and in Corefy
- Not sure which account type to use? -> ask your Corefy account manager
Question
Still looking for help connecting your Paysecure account? Please contact our support team!