PayFac
A PayFac (Payment Facilitator) simplifies the process of enabling merchants to accept electronic payments. Acting as a master merchant, PayFacs allow businesses to quickly and efficiently onboard under their payment infrastructure, eliminating the need to set up individual merchant accounts.
Payment type | Card payments and refunds |
---|---|
Merchant markets | European Economic Area (EEA) and United Kingdom (UK) |
Supported cards | Visa, Visa Debit, Visa Electron, Visa Prepaid, Mastercard, Mastercard Debit (Maestro), Mastercard Prepaid |
Processing currency | All available |
Settlement currency | GBP, EUR |
Payment authentication | Dynamic 3D Secure 2 (ready for Strong Customer Authentication) |
Supported regions | European Economic Area (EEA) and United Kingdom (UK) |
Prerequisites
Eligibility
PayFacs must obtain regulation and an Electronic Money Institution (EMI) license to operate legally and ensure compliance with payment services and anti-money laundering (AML) regulations. They must also manage the entire lifecycle of their sub-merchants, including onboarding, servicing, transaction processing, chargeback management, billing, settlement, and more.

Payments API: YES

Paysafe Checkout: YES

Paysafe JS: YES
Supported use cases
PayFacs support merchants using two main models:
- Shared MID (Merchant Identification Number)
- Assigned MID.
When servicing high-risk merchants, PayFacs must register each sub-merchant with an assigned MID.
PayFac shared MID model
In the Shared MID (Merchant Identification Number) model, sub-merchants operate under the Payment Facilitator’s master MID, meaning the PayFac handles the aggregation of all sub-merchants’ transactions. The sub-merchants do not have individual MIDs but are treated as part of the PayFac’s overall portfolio. The MID could be shared for sub-merchant which use the same MCC and settlement currency (Paysafe settlement to PayFac).
PayFac assigned MID model
In the Assigned MID Model, the PayFac sponsors each sub-merchant with its own dedicated MID. This gives sub-merchants more autonomy, with their transactions handled separately but still facilitated by the PayFac. The PayFac must create an account with Paysafe for each sub-merchant using the Assigned MID model.
For more information on how to create a new Shared or Assigned MID, contact your account manager.
Implementation
The Paysafe Payments API supports PayFac model card payments processing.
During registration with Paysafe, the PayFac receives a unique Payment Facilitator identifier from each Card Scheme it uses, assigned by Paysafe.
The Payment Facilitator must determine a unique identifier (sub-merchant ID) for each of its Sponsored Merchants. For Assigned MID merchants, the PayFac can either configure this ID as part of the account setup or pass it within the transaction message. For Shared MID merchants, the unique identifier must be passed as part of the transaction message.
PayFac merchants must include the described Payment Facilitator object in each card request, which contains additional information about the Payment Facilitator sub-merchant initiating the transaction. If any required elements are missing from the request, the transaction will process, but it could cause compliance issues.
Do not use this Payment Facilitator object unless you are registered with Paysafe as a Payment Facilitator. For more information, contact your account manager.
PayFac object parameters
Element | Type | Description |
---|---|---|
subMerchant | object | Contains information for Payment facilitator sub-merchant |
id | string, Mandatory (Shared MID)/ Optional (Assigned MID), length <= 50 characters | This field contains an identifier of the sub-merchant/ actual merchant, which the Payment Facilitator determines and assigns as a unique identifier to each of its sponsored merchants. For Assigned MID PayFacs the sub-merchant ID is optional, if only it is assigned by PayFac to the dedicated PayFac account for the current sponsored merchant. |
name | string, Mandatory, length <= 50 characters | This field contains the name of the sub-merchant/ actual merchant. |
phone | string, Mandatory, length <= 50 characters | This field contains the phone of the sub-merchant/ actual merchant. |
string, Mandatory, length <= 50 characters | This field contains the email address of the sub-merchant/ actual merchant. | |
url | string, Mandatory (for transactions with VISA and MasterCard cards) / Optional (for transactions with American Express cards) length <= 100 character | This field contains the url address of the sub-merchant/ actual merchant. |
address | object | Contains information for Payment facilitator sub-merchant address. |
street | string, Mandatory, length <= 50 characters | This field contains the street address of the sub-merchant/ actual merchant. |
city | string, Mandatory, length <= 50 characters | This field contains the city of the sub-merchant/ actual merchant. |
state | string, Mandatory (for transactions with American Express cards) / Optional (for transactions with VISA and MasterCard cards) length >= 1 character and <= 3 characters | This field contains the state code for the United States, the province code for Canada or region for the other countries. See Province Codes or State Codes for Canada or the United States. For other countries, see ISO 3166-2. |
country | string, Mandatory, length <= 50 characters | This field contains the country code of the sub-merchant/ actual merchant. |
zip | string, Mandatory, length <= 50 characters | This field contains the postal code of the sub-merchant/ actual merchant. |
Example
{
"paymentFacilitator": {
"subMerchant": {
"id": "123456789",
"name": "PayFacSubMerchant",
"phone": "5555555555",
"email": "payfac@mail.com",
"url": "www.payfac.com",
"address": {
"street": "100 Queen Street West",
"city": "London",
"state": "LND",
"country": "GB",
"zip": "M5H 2N2"
}
}
}
}
The request status depends on the outcome of the request:
- For positive scenarios, the status is COMPLETED.
- For negative scenarios, the status is ERROR.
Positive outcome: Happy path
Outcome | Paysafe HTTP Status Code | Paysafe Error Code | Paysafe Error Message | Can be simulated? |
---|---|---|---|---|
The request succeeds. | 200 | N/A | N/A | YES |
Negative outcomes: Unhappy path
The request fails in case the field subMerchantId is not provided in the request for Shared MID PayFacs
Outcome | Paysafe HTTP Status Code | Paysafe Error Code | Paysafe Error Message | Can be simulated? |
---|---|---|---|---|
The request succeeds. | 500 | 1000 | "Internal Error" | NO |
The subMerchantId field is required in every card transaction request and must either be included in the request or set up in the account configuration.