Skip to content

Logo

Payadmit

Unlock the power of Payadmit's advanced payment technical solutions.

Supports in this guide: Payments | Payouts

Provider website: payadmit.com


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

  1. Choose account type
  2. Get your credentials (from Payadmit)
  3. Connect in Dashboard
  4. Send an API request

Choose account type

Payadmit 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 redirect payments (Open Banking, bank transfer, wallets, crypto, and other local methods - customer completes payment on Payadmit's hosted page) -> choose Provider account
  • If you do payouts -> choose Provider account

If you're not sure which one to use, confirm with your Corefy account manager.


Prerequisites: get from Payadmit

Get the following values for your Payadmit project/account. API Key, Signing Key, API URL, and Test Mode apply to both connection types below, but are entered separately when connecting each account type in the Dashboard.

  • API Key -> Corefy field api_key -> example: 9F3kD82jLxQ1vR7Z -> where to find: Payadmit backoffice / issued by Payadmit manager. Used as a Bearer token to authenticate every API request.
  • Signing Key -> Corefy field signing_key -> example: k7Lp2Q9m -> where to find: Payadmit backoffice / issued by Payadmit manager. Used to verify the signature of asynchronous callbacks.
  • API URL (optional) -> Corefy field api_url -> where to find: Payadmit backoffice / issued by Payadmit manager. Overrides the default gateway endpoint - only needed if Payadmit issued you a dedicated API host.
  • Terminal ID (Provider account only, optional) -> Corefy field terminal_id -> where to find: Payadmit backoffice / issued by Payadmit manager. Identifies which of your terminals a balance check is run against.

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

Connect H2H Merchant account in Corefy Dashboard

Step 1 - Open connection form

Open Payadmit in the provider directory and press Connect at Payadmit Provider Overview page in the New connection section. Choose H2H Merchant account.

Step 2 - Fill in fields and select settings

  • API Key
  • Signing Key
  • API URL (optional, overrides the default gateway endpoint)
  • Test Mode -> (enable if you are using sandbox credentials)

Choose Currency and Features. You can set these parameters according to available currencies and features for your Payadmit account, but it is necessary to check details of the connection with your Corefy account manager.

Success

You have connected Payadmit H2H Merchant account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "service": "payment_card_eur_hpp",
      "currency": "EUR",
      "amount": 10.04,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "date_of_birth": "1990-05-14",
        "address": {
          "country": "GB",
          "city": "London",
          "post_code": "SW1A 1AA",
          "full_address": "10 Downing Street"
        }
      }
    }
  }
}

None of the customer/address fields are enforced by Corefy - Payadmit's own docs mark only referenceId, paymentType, amount, and currency as required, and describe customer/billing data as "recommended for better fraud prevention." customer.address.country is sent to Payadmit as both the citizenship country and the billing country - there's no separate field for the two. Payadmit also supports UZS (use payment_card_uzs_hpp as the service code).


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 (10)

  • ignore_callback - stops asynchronous callbacks from finalizing a payment; only Reconcile does.
  • routing_group_mapping - name of the customer.metadata key holding the customer's routing group.
  • kyc_status_mapping - name of the customer.metadata key holding the customer's KYC status.
  • payment_instrument_kyc_status_mapping - name of the customer.metadata key holding the card's KYC status.
  • date_of_first_deposit_mapping - name of the customer.metadata key holding the customer's first deposit date.
  • deposits_amount_mapping - name of the customer.metadata key holding the customer's total deposited amount.
  • withdrawals_amount_mapping - name of the customer.metadata key holding the customer's total withdrawn amount.
  • deposits_cnt_mapping - name of the customer.metadata key holding the customer's deposit count.
  • withdrawals_cnt_mapping - name of the customer.metadata key holding the customer's withdrawal count.
  • map_by_external_code - looks up the decline/error message shown to you from Payadmit's own result code instead of Payadmit's raw message text.
ignore_callback

What it does: Payadmit can retry a declined sale across multiple acquirers ("cascading") before reaching a final result, so an early callback can carry a non-final status. When enabled, Corefy ignores asynchronous callbacks entirely for status updates and relies only on Reconcile (status polling) to finalize the payment.

When to use: enable it if you see payments change status after an early callback already reported them as final - this forces Corefy to wait for a Reconcile-confirmed result instead.

Default: "false"

Allowed values: true / false

routing_group_mapping

What it does: Payadmit can route a customer's transaction differently based on a routing group. Set this option to the name of the customer.metadata key where you store that value, and Corefy forwards it to Payadmit as routingGroup on every request.

When to use: when Payadmit has set up custom routing rules for your account keyed by customer group.

Default: "" (not sent)

Allowed values: any customer.metadata key name

kyc_status_mapping

What it does: name of the customer.metadata key holding whether the customer has passed KYC verification; forwarded to Payadmit as kycStatus.

When to use: when your own system tracks customer KYC status and Payadmit uses it for risk decisions.

Default: "" (not sent)

Allowed values: any customer.metadata key name

payment_instrument_kyc_status_mapping

What it does: name of the customer.metadata key holding whether the payment instrument (typically the card) has passed KYC verification; forwarded to Payadmit as paymentInstrumentKycStatus.

When to use: when your own system tracks per-instrument KYC status.

Default: "" (not sent)

Allowed values: any customer.metadata key name

date_of_first_deposit_mapping

What it does: name of the customer.metadata key holding the date of the customer's first deposit; forwarded to Payadmit as dateOfFirstDeposit.

When to use: when Payadmit uses customer tenure for risk/fraud scoring on your account.

Default: "" (not sent)

Allowed values: any customer.metadata key name

deposits_amount_mapping

What it does: name of the customer.metadata key holding how much the customer has already deposited (in your base currency); forwarded to Payadmit as depositsAmount.

When to use: when Payadmit uses customer deposit history for risk/fraud scoring on your account.

Default: "" (not sent)

Allowed values: any customer.metadata key name

withdrawals_amount_mapping

What it does: name of the customer.metadata key holding how much the customer has already withdrawn (in your base currency); forwarded to Payadmit as withdrawalsAmount.

When to use: when Payadmit uses customer withdrawal history for risk/fraud scoring on your account.

Default: "" (not sent)

Allowed values: any customer.metadata key name

deposits_cnt_mapping

What it does: name of the customer.metadata key holding how many times the customer has made a deposit; forwarded to Payadmit as depositsCnt.

When to use: when Payadmit uses deposit frequency for risk/fraud scoring on your account.

Default: "" (not sent)

Allowed values: any customer.metadata key name

withdrawals_cnt_mapping

What it does: name of the customer.metadata key holding how many times the customer has made a withdrawal; forwarded to Payadmit as withdrawalsCnt.

When to use: when Payadmit uses withdrawal frequency for risk/fraud scoring on your account.

Default: "" (not sent)

Allowed values: any customer.metadata key name

map_by_external_code

What it does: when a decline/error carries a Payadmit result code, Corefy looks up a fixed, readable message for that code instead of forwarding Payadmit's own raw message text.

When to use: enable it if you find Payadmit's raw decline messages inconsistent or hard to act on.

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)

  • FIRST_NAME -> customer.name
  • LAST_NAME -> customer.name
  • 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

Payments processing (connect Provider account, create payment-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields and select settings

  • API Key
  • Signing Key
  • Terminal ID (optional, used for balance checks)
  • API URL (optional, overrides the default gateway endpoint)
  • Test Mode -> (enable if you are using sandbox credentials)

Success

You have connected Payadmit Provider account!


First request to Corefy API (MIN)

What it does: creates a payment-invoice.

Payment - MIN

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "service": "openbanking_eur_hpp",
      "currency": "EUR",
      "amount": 10
    }
  }
}

Payment - MAX

POST /api/payment-invoices

{
  "data": {
    "type": "payment-invoice",
    "attributes": {
      "service": "openbanking_eur_hpp",
      "currency": "EUR",
      "amount": 10.04,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "date_of_birth": "1990-05-14",
        "individual_tax_id": "123456789",
        "address": {
          "country": "GB",
          "city": "London",
          "post_code": "SW1A 1AA",
          "full_address": "10 Downing Street"
        }
      }
    }
  }
}

openbanking_eur_hpp is one of many local payment methods Payadmit routes through this same generic redirect request shape - card, Open Banking, bank transfer (multiple currencies), e-wallets (Skrill, Neteller), crypto, cash, and QR-code methods are all available as separate service codes on the same account; check with your Corefy account manager for the current list enabled for you. For some of these local methods (bank transfer/cash/QR-code-style methods specifically), Payadmit also expects customer.individual_tax_id - include it if your customer's method requires one. As with the H2H flow above, none of the customer/address fields are enforced by Corefy.


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 (1)

  • finalize_by_protocol - fails a payment locally on a Payadmit decline, even though Payadmit itself doesn't guarantee that decline is final.
finalize_by_protocol

What it does: Payadmit doesn't always guarantee a "failed" status is final - it can later change to success on Payadmit's side. By default Corefy won't mark such payments as finally failed, to avoid a mismatch with Payadmit later reversing the decline. Enabling this option makes Corefy finalize a fail as soon as Payadmit reports it, per the raw protocol response.

When to use: enable it if you'd rather get a fast, final fail than risk a status that changes later.

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)

  • FIRST_NAME -> customer.name
  • LAST_NAME -> customer.name
  • 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
  • LOCALE -> customer.metadata.locale

These constants are shared across every local payment method service code available on Payadmit's Provider account.


Payouts processing (connect Provider account, create payout-invoice)

Connect Provider account in Corefy Dashboard

Step 1 - Open connection form

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

Step 2 - Fill in fields (provider -> Corefy)

  • API Key -> api_key
  • Signing Key -> signing_key
  • Terminal ID (optional, used for balance checks) -> terminal_id
  • API URL (optional, overrides the default gateway endpoint) -> api_url

Success

You have connected Payadmit Provider account!


First request to Corefy API (MIN)

What it does: creates a payout-invoice.

Payout - MIN

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "service": "payment_card_eur",
      "currency": "EUR",
      "amount": 10,
      "fields": {
        "card_number": "411111******1111"
      }
    }
  }
}

Payout - MAX

POST /api/payout-invoices

{
  "data": {
    "type": "payout-invoice",
    "attributes": {
      "service": "payment_card_eur",
      "currency": "EUR",
      "amount": 10,
      "customer": {
        "reference_id": "cus_123",
        "name": "John Smith",
        "email": "johnsmith@gmail.com",
        "phone": "+15551234567",
        "date_of_birth": "1990-05-14",
        "address": {
          "country": "GB",
          "city": "London",
          "post_code": "SW1A 1AA",
          "full_address": "10 Downing Street"
        }
      },
      "fields": {
        "card_number": "411111******1111"
      }
    }
  }
}

fields.card_number is required - nothing else is. Payadmit also supports payouts to USD, GBP, and CHF (use payment_card_<currency> as the service code), and bank transfer payouts (bank_transfer_eur/bank_transfer_usd/bank_transfer_gbp, plus hkma_fps_gbp for UK Faster Payments) - those need bank account details instead of fields.card_number; ask your Corefy account manager for the exact field set if you need bank transfer payouts.


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 (1)

  • finalize_by_protocol - fails a payout locally on a Payadmit decline, even though Payadmit itself doesn't guarantee that decline is final.
finalize_by_protocol

What it does: same behavior as the Payments-side option of the same name (see above) - Payadmit doesn't always guarantee a "failed" payout status is final. By default Corefy won't finalize such a payout as failed; enabling this option finalizes it as soon as Payadmit reports it.

When to use: enable it if you'd rather get a fast, final fail than risk a payout status that changes later.

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)

  • FIRST_NAME -> customer.name
  • LAST_NAME -> customer.name
  • 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
  • LOCALE -> customer.metadata.locale

Additional info

H2H Merchant account:

  1. Payadmit can retry a declined card sale across multiple acquirers before returning a final result ("cascading"). Because of this, Corefy treats the redirect return as a possible interim state and confirms the real outcome with a Reconcile call rather than trusting it blindly - see the ignore_callback option above if you want Reconcile to be the only source of truth.

  2. Callback routing is handled automatically: Payadmit calls back a webhook URL Corefy generates per transaction. There's no fixed callback URL to configure in Payadmit's backoffice.

Provider account (Payments and Payouts):

  1. Payadmit's Provider account is a single connection shared by many local payment methods (redirect card, Open Banking, bank transfer, e-wallets, crypto, cash, QR code) and by payouts - the same API Key/Signing Key work for all of them, only the service code changes per method.

  2. Callback routing is handled automatically here too, the same way as for the H2H Merchant account.


FAQ / Troubleshooting

  • Invalid credentials / auth error -> verify you used the correct API Key / Signing Key for the chosen environment (sandbox vs production) and account type
  • Currency or service is not supported -> confirm allowed currencies/features in your Payadmit account and in Corefy
  • Missing customer data fields -> set constants (see "Constants") or provide fields in the API request
  • A payment or payout's status seems to flip after it was already reported as final -> see the ignore_callback (Payments) / finalize_by_protocol (Provider account) options above
  • Not sure which account type to use? -> ask your Corefy account manager

Question

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