Skip to content

Logo

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)

  1. Choose account type
  2. Get your credentials (from Paysecure)
  3. Connect in Dashboard
  4. 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 -> only Server to Server is 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.name
  • PHONE -> customer.phone
  • STREET_ADDRESS -> customer.address.full_address
  • COUNTRY -> customer.address.country
  • PERSONAL_CODE -> customer.individual_tax_id
  • CITY -> customer.address.city
  • ZIP_CODE -> customer.address.post_code
  • STATE -> 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

  1. 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.
  2. 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_type plus at least one of customer.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!