Skip to content

Logo

MADFIN

Lead the revolution in card acquiring

Supports in this guide: Payments

Provider website: madfin.com


What you need to do for start processing transactions (brief summary)

  1. Get your credentials (from MADFIN)
  2. Connect in Dashboard
  3. Send an API request

Prerequisites: get from MADFIN

Contact your MADFIN account manager to get your account verified and receive the following credentials.

  • API Key -> Corefy field api_key.
  • Signing Key -> Corefy field signing_key -> used to sign/verify requests.
  • API URL (optional) -> Corefy field api_url -> leave as default unless your account manager tells you otherwise.

EUR only.


Payments processing (connect H2H Merchant account, create payment-invoice)

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

Open MADFIN in the provider directory and press Connect at MADFIN Provider Overview page in the New connection section.

Step 2 - Fill in fields and select settings

  • API Key
  • Signing Key
  • API URL (optional)
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected MADFIN 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. MADFIN may return a 3D Secure challenge redirect depending on the card.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "1a2b3c4d-5e6f-4a7b-8c91-2d3e4f5a6b7c",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "reference_id": "2b3c4d5e-6f7a-4b8c-8d02-3e4f5a6b7c8d",
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "date_of_birth": "1990-05-20",
        "address": {
          "country": "FR",
          "region": "IDF",
          "city": "Paris",
          "full_address": "1 Main street",
          "post_code": "75000"
        }
      }
    }
  }
}

customer is entirely optional. For first/last name, the priority is the name embossed on the card, then the Constants below.


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

  • ignore_callback -> optional, boolean - for cascading to work correctly, excludes finalizing the payment from the asynchronous callback; Corefy then relies only on an active status request (reconciliation) to finalize it.
  • finalize_by_protocol -> optional, boolean - the provider doesn't always guarantee that a declined status is final (it can later change to a success on their side); enable this if you'd rather have Corefy treat a decline as final immediately instead of waiting.
  • save_provider_instant_token -> optional, boolean - enable to allow recurring charges on this connection.
  • send_additional_data -> optional, boolean - sends extra metadata with the sale.

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)

  • first_name -> customer.name (first part)
  • last_name -> customer.name (second part)
  • email -> customer.email
  • phone -> customer.phone
  • date_of_birth -> customer.date_of_birth
  • citizenship_country_code -> customer.address.country
  • full_address -> customer.address.full_address
  • city -> customer.address.city
  • country_code -> customer.address.country
  • postal_code -> customer.address.post_code
  • state -> customer.address.region

Recurring (save and charge a token)

If Save Provider Instant Token is enabled on your connection, a sale is registered as card-on-file; a later charge can reuse that stored card without sending full card data again.


Refunds

MADFIN supports partial and multiple refunds against the same payment.


Additional info

  1. Callback routing is automatic - Corefy generates the callback/return URLs per transaction, nothing to configure in MADFIN's own back-office.
  2. Active reconciliation is available - Payments support an active status request, in addition to the asynchronous callback; on return from the redirect, Corefy additionally retries a few times over about 30 seconds to confirm a final status before giving up.
  3. No payouts - this connector does not support payouts through Corefy.

FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify API Key/Signing Key for the selected environment
  • Currency or service is not supported -> confirm allowed currencies/features in your MADFIN account and in Corefy - only EUR is available

Question

Still looking for help connecting your MADFIN account? Please contact our support team!