
PayLink (TAS LINK)
Supports in this guide: Payments, Payouts
Provider website: paylink.com.ua
What you need to do for start processing transactions (brief summary)
- Choose account type
- Get your credentials (from PayLink)
- Connect in Dashboard
- Send an API request
Choose account type
PayLink can be connected in different ways (depending on your needs):
- If you do direct card payments (H2H, no redirect), Apple Pay, Google Pay, or Masterpass -> choose H2H Merchant account
- If you do card payouts (including P2P) -> choose Provider account
If you're not sure which one to use, confirm with your Corefy account manager.
Prerequisites: get from PayLink
Contact your PayLink (TAS LINK) account manager to get your account verified and receive the following credentials.
- Merchant (Terminal ID) -> Corefy field
merchant_id(H2H Merchant account) /merchant(Provider account) -> both account types. - Private Key -> Corefy field
private_key-> both account types, upload/paste as password-type field. - Google Pay Merchant ID -> Corefy field
google_pay_mid-> H2H Merchant account only, optional - required only if you enable the Google Pay feature. - Account (Bank Account) -> Corefy field
account-> Provider account only, exactly 14 characters, required unless P2P mode is enabled - do not use the full IBAN, only the bank account identifier.
UAH only.
Payments processing (connect H2H Merchant account, create payment-invoice)
Connect H2H Merchant account in Corefy Dashboard
Step 1 - Open connection form
Open PayLink in the provider directory and press Connect at PayLink Provider Overview page in the New connection section. Choose H2H Merchant account.
Step 2 - Fill in fields and select settings
- Merchant (Terminal ID) ->
merchant_id - Private Key ->
private_key - Google Pay Merchant ID ->
google_pay_mid-> (optional, only if you enable thegoogle_payfeature) - Send Merchant URL ->
send_merchant_url-> (optional) if enabled, your Commerce website URL is included in the order description sent to PayLink - Currency / Features -> choose values available for your account (Payment Card, Google Pay, Apple Pay, Masterpass)
- Payment mode ->
payment_mode-> (optional) E-commerce (default) or C2A - set per feature, see the Options section below - FPTTI ->
fptti-> (optional) 3-character transaction type indicator, used in C2A mode for Mastercard
Success
You have connected PayLink 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. Apple Pay, Google Pay, and Masterpass are all supported on this same connection, gated by the corresponding Dashboard features.
Payment - MIN
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "8afec793-9b41-4dc4-b281-c76cc54ffb89",
"service": "payment_card_uah_hpp",
"currency": "UAH",
"amount": 10
}
}
}
Payment - MAX
POST /api/payment-invoices
{
"data": {
"type": "payment-invoice",
"attributes": {
"reference_id": "06fa1ea9-8a5b-4dbc-b67b-6236b3b9af3d",
"service": "payment_card_uah_hpp",
"currency": "UAH",
"amount": 10.04,
"customer": {
"reference_id": "cus_123",
"phone": "+380680786663",
"email": "johnwick@example.com",
"address": {
"country": "UA",
"city": "Kyiv",
"full_address": "95 Richmond Road",
"post_code": "01001",
"region": "Kyiv"
}
}
}
}
}
Extended request (MAX)
Why add extra fields (typical reasons): - PayLink uses customer.address/customer.phone/customer.email to fill the 3DS billing fields (billAddrCity, billAddrCountry, billAddrLine1, billAddrPostCode, billAddrState, billMobilePhone, billEmail) - providing them can reduce 3DS friction - 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 (5):
payment_mode- switches the connection between E-commerce (regular purchase) and C2A (Card2Account transfer) processing.fptti- transaction type indicator sent to PayLink in C2A requests (required for Mastercard).enable_fallback_on_browser_info- fills in missing 3DS browser-fingerprint fields from Constants instead of sending them empty.require_card_data_on_google_pay- Google Pay only; keeps a successful Google Pay payment Pending until card data (PAN) is returned so Corefy can store it.use_new_description- builds the order description PayLink receives from the payment's purpose metadata and the customer's tax ID/passport number, instead of the default auto-generated description.
payment_mode
What it does: selects which PayLink flow this connection uses. It changes both the session type and the financial request type:
| Mode | PayLink session (ordertype) | PayLink request (type) |
|---|---|---|
| E-commerce | 2 | purchase |
| C2A | 8 | p2pDebit |
In C2A mode the card data is also sent under different field names (debit_pan / exp_date instead of pan / expdate; debit_token instead of token for Masterpass). Both modes work for regular cards, Apple Pay and Google Pay - your API request does not change, only the connection setting does.
When to use: choose C2A when PayLink registered your terminal for Card2Account transfers (money credited to an account) instead of standard e-commerce purchases. Confirm the mode with PayLink before switching.
Default: E-commerce.
fptti
What it does: adds the fptti (transaction type indicator) field to C2A requests. Exactly 3 characters. Ignored when payment_mode is E-commerce or when the value is empty.
When to use: required by PayLink for Mastercard C2A transactions. The value is given to you by PayLink per connection - e.g. Credit Dnepr uses F52.
Default: empty (not sent).
enable_fallback_on_browser_info
What it does: when a 3DS browser-fingerprint field (accept header, color depth, IP, language, screen size, timezone offset, user agent, Java-enabled flag, window size) is missing from the request, PayLink falls back to the matching Constant value instead of sending an empty value.
When to use: when your integration cannot reliably collect full browser fingerprint data on every request.
Default: disabled.
require_card_data_on_google_pay
What it does: after a successful Google Pay charge, if PayLink's response does not include card data (PAN), the payment is kept Pending (resolution RECONCILE_REQUIRED) instead of being marked successful immediately.
When to use: when you need the card PAN to be present on every successful Google Pay transaction (e.g. for downstream reconciliation).
Default: disabled.
use_new_description
What it does: replaces the default order description with a base64-encoded DESCX=<purpose>, <identifier> string, where <purpose> comes from metadata.purpose and <identifier> is the customer's individual_tax_id (or, if absent, their passport series + number).
When to use: when PayLink requires a specific description format for compliance/reconciliation on your account.
Default: disabled.
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 -> PayLink receives an empty value for that field
Currently available constants (constant -> Corefy API field)
NAME-> fallback for the cardholder name on the 3DS billing formCITY->customer.address.cityCOUNTRY->customer.address.countryADDRESS->customer.address.full_addressPOST_CODE->customer.address.post_codeSTATE->customer.address.region(used for Sale/Auth)STATE_FOR_VERIFY->customer.address.region(used specifically for the 3DS enrollment check step)PHONE->customer.phoneEMAIL->customer.emailMERCHANT_URL-> fallback website URL, only used when Send Merchant URL is enabled and no Commerce website URL is available
Eleven additional BROWSER_* constants (accept header, color depth, IP, short language, screen height/width, timezone offset, user agent, Java-enabled flag, window height/width) are also available - they are only used as fallback 3DS browser-fingerprint data when the enable_fallback_on_browser_info option above is enabled.
Refunds
PayLink supports partial refunds, but only one refund per payment - multiple (split) refunds against the same payment are not allowed. If the refund is processed on the same calendar day as the original sale (Kyiv timezone), Corefy automatically uses a void instead of a refund on PayLink's side - this is transparent to you.
Recurring
PayLink supports recurring (tokenized) charges. When a Sale is processed with the Corefy tokenize/save-card option enabled, PayLink returns a reusable token (recurring_sid) that Corefy stores and uses for subsequent recurring charges, without resubmitting card data - a genuine provider-side token flow, not just a Dashboard checkbox.
Payouts processing (connect Provider account, create payout-invoice)
Connect Provider account in Corefy Dashboard
Step 1 - Open connection form
Open PayLink in the provider directory and press Connect at PayLink Provider Overview page in the New connection section. Choose Provider account.
Step 2 - Fill in fields (provider -> Corefy)
- Merchant (Terminal ID) ->
merchant - Private Key ->
private_key - Account (Bank Account) ->
account-> (exactly 14 characters; required unless P2P mode is enabled - do not use the full IBAN) - P2P mode ->
p2p-> (optional) enable to route payouts through PayLink's peer-to-peer network instead of a card-to-account transfer - Merchant URL ->
merchant_url-> (optional)
Success
You have connected PayLink Provider account!
First request to Corefy API (MIN)
What it does: creates a payout-invoice for a card payout.
Payout - MIN
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "efbf0a2b-5590-42b7-b10b-94d49452147d",
"service": "payment_card_uah",
"currency": "UAH",
"amount": 150,
"fields": {
"card_number": "4111111111111111"
}
}
}
}
Important
fields.card_number is required.
Payout - MAX
POST /api/payout-invoices
{
"data": {
"type": "payout-invoice",
"attributes": {
"reference_id": "58acf793-9b41-4dc4-b281-c76cc54ff230",
"service": "payment_card_uah",
"currency": "UAH",
"amount": 150,
"customer": {
"reference_id": "33cc9165-6ab2-4cee-8d9a-10f05cddbb5a",
"individual_tax_id": "1234567890"
},
"fields": {
"card_number": "4111111111111111"
}
}
}
}
Extended request (MAX)
Why add extra fields (typical reasons): - customer.individual_tax_id is only used when the use_new_description option is enabled on this account - Provide additional customer details for compliance/reconciliation - 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):
use_new_description- same behavior as on the Payments flow above: builds the description PayLink receives from the payout's purpose metadata and the customer's tax ID/passport number.
Refunds
PayLink does not support refunds on Payouts.
Additional info
- UAH only - PayLink processes Payments and Payouts in Ukrainian Hryvnia exclusively; no other currencies are available.
- Active reconciliation is available on both flows - H2H Merchant account Payments and Provider account Payouts can both be checked via an active status request in addition to callbacks.
- Apple Pay, Google Pay and Masterpass are supported on the H2H Merchant account as additional Dashboard features alongside standard card payments; Google Pay additionally requires the Google Pay Merchant ID field.
- E-commerce / C2A mode is set per feature on the H2H Merchant account (Payment Card, Google Pay, Apple Pay, Masterpass each have their own
payment_modeandfpttivalues) - set the same mode on every feature you use, otherwise different payment methods will be processed differently. - P2P mode (Provider account) changes how payouts are routed: when enabled, the Account field is not required and payouts go through PayLink's peer-to-peer network instead of a card-to-account transfer.
- The Test URL / Prod URL fields on both account types let you override PayLink's default API hosts - leave them empty to use the defaults.
FAQ / Troubleshooting
- Invalid credentials / auth error -> verify the Merchant (Terminal ID) and Private Key for the selected account type and environment
- Currency or service is not supported -> PayLink only supports
UAH - Refund fails -> only one refund per payment is allowed (full or partial) - a second refund against the same payment will be rejected
- Payout fails with a missing Account error -> the Account (bank account) field is required on the Provider account unless P2P mode is enabled
- C2A payments are rejected on Mastercard -> the
fpttioption is not set (or is not the value PayLink expects); it must be exactly 3 characters, e.g.F52 - Payments go through as regular purchases instead of C2A ->
payment_modeis still E-commerce on that feature; it is configured per feature (Payment Card, Google Pay, Apple Pay, Masterpass) - Not sure which account type to use? -> ask your Corefy account manager
Question
Still looking for help connecting your PayLink account? Please contact our support team!