Splitit
Splitit is a buy now, pay later (BNPL) payment method that lets customers pay for purchases in interest-free monthly installments using their existing credit cards. Unlike other BNPL options, Splitit does not require a new loan, a hard credit check, or a lengthy application process. Instead, Splitit places a preauthorization hold on the customer's credit card for the total purchase amount. It charges the first installment immediately and gradually reduces the hold as the customer makes subsequent payments.
At checkout, customers select Splitit, complete a quick application that may include a soft credit check, and choose a flexible payment plan. Available payment options are:
- Pay in 4: Splitit the purchase into four equal, interest-free payments.
- Monthly Installments: Flexible plans ranging from 3 to 36 months.
Splitit primarily operates in the United States and is accepted by many online and in-store retailers. For more information, refer to Splitit.
Prerequisites
To use the Splitit payment method through the Mastercard Gateway, you must:
- Register with your browser payments service provider.
- Register with Splitit as a merchant.
- Ensure that your merchant profile on the Mastercard Gateway is configured using the details of your account provided by the payment method service provider.
Splitit payer journey flow
The Splitit payer journey includes these steps:
- The payer selects the products or services and completes the checkout process. Provide basic customer information, such as first name, last name, email address, telephone number, and address details.
- The payer selects Splitit as the payment method from the available payment options.
- After selecting Splitit, the system redirects the payer to the Splitit payment page and logs in using their credentials.
- The payer authorizes the payment.
- After the transaction completes, the system redirects the payer back to the merchant page and displays the final payment status.
- If the transaction is unsuccessful, the payer retries the transaction using another payment method.
Figure: Splitit payment payer journey flow

Splitit payments integration
Splitit payments through Direct Payment
This section provides an overview of how to support Splitit payments using Direct Payment integration.
- Direct Payment integration enables you to offer Splitit payments on your checkout page.
- Splitit payments are supported from WS API version 100 and later.
- Submit an Initiate Browser Payment request with:
sourceOfFunds.browserPayment.type = SPLITITbrowserPayment.operation = PAY.
Splitit payments transactions
This table describes the transaction characteristics for Splitit payments.
| Transaction details | Value |
|---|---|
| Payment type | BNPL |
| Supported countries | CANADA, USA |
| Supported currencies | CAD, USD |
| Supported operations | PURCHASE (PAY), FULL REFUND, PARTIAL REFUND |
| Minimum transaction amount | 0 |
| Maximum transaction amount | 1000000000000 |
| Refund validity | Not applicable. Refunds are not available through Mastercard Gateway. |
| Chargeback | Not applicable |
| Transaction validity period | 5 minutes. The default timeout is 5 minutes. If you configure a timeout value of 1 minute in the merchant portal, the effective timeout becomes 6 minutes. |
Payment options inquiry (POI)
Merchants use a POI request to retrieve the available payment options and their attributes. The POI response provides details about mandatory and optional fields, in addition to standard fields, applicable limits, and general payment plan offer information for BNPL payment methods.
POI request
curl --request POST \
--url {{remotehost}}/api/rest/version/latest/merchant/OPTTY_MER1/paymentOptionsInquiry
POI response
{
"merchant": "OPTTY_MER1",
"paymentTypes": {
"browserPayment": [
{
"type": "SPLITIT",
"displayName": "Splitit",
"description": "Splitit is a BNPL provider. It operates in AU, UK, US, CA, SG, SE, TR, and EU.",
"logoUrl": "{{remotehost}}/bpui/bp/logo/ab4f48cd-4dfb-4918-a341-6b1402d61932_SPLITIT.svg",
"minAmount": 0,
"maxAmount": 1000000000000,
"currencies": [
{
"currency": "USD"
}
],
"supportedCountries": [
{
"country": "USA"
}
],
"paymentPlanOffer": [
{
"currency": "USD",
"interestRate": 0,
"customerFee": false,
"lateFee": false,
"paymentAmount": 0,
"timeBetweenPayments": {
"count": "4",
"unitOfMeasure": "WEEK"
}
}
],
"standardPayerData": [
{ "fieldName": "PHONE", "presence": "OPTIONAL" },
{ "fieldName": "EMAIL", "presence": "OPTIONAL" },
{ "fieldName": "BILLING_ADDRESS", "presence": "OPTIONAL" },
{ "fieldName": "SHIPPING_ADDRESS", "presence": "OPTIONAL" },
{ "fieldName": "FIRST_NAME", "presence": "OPTIONAL" },
{ "fieldName": "LAST_NAME", "presence": "OPTIONAL" }
]
}
]
},
"supportedPaymentOperations": [
{
"supportedPaymentOperation": "PURCHASE"
}
],
"result": "SUCCESS"
}
In addition to the standard fields required in a browser payment request, include the following specific parameter fields in the Initiate Browser Payment request for Splitit.
Splitit - CAD
| Parameter name | Mandatory or Optional | Description |
|---|---|---|
customer.email |
Mandatory | Payer email information |
customer.firstName |
Mandatory | Payer first name |
customer.lastName |
Mandatory | Payer last name |
customer.phone |
Mandatory | Payer phone number |
billing.address |
Mandatory | Billing address information |
shipping.address |
Optional | Shipping address information |
item |
Mandatory | Item details for the transaction |
Splitit - USD
| Parameter name | Mandatory or Optional | Description |
|---|---|---|
customer.email |
Mandatory | Payer email information |
customer.firstName |
Mandatory | Payer first name |
customer.lastName |
Mandatory | Payer last name |
customer.phone |
Optional | Payer phone number |
billing.address |
Mandatory | Billing address information |
shipping.address |
Optional | Shipping address information |
item |
Mandatory | Item details for the transaction |
Sample code to Initiate Splitit Payment request
Initiate request
{
"apiOperation": "INITIATE_BROWSER_PAYMENT",
"billing": {
"address": {
"city": "Edinburgh",
"company": "MPGS",
"country": "USA",
"stateProvince": "CA",
"street": "OceanPoint",
"street2": "OceanDrive",
"postcodeZip": "12345"
}
},
"shipping": {
"address": {
"city": "Edinburgh",
"company": "MPGS",
"country": "USA",
"stateProvince": "CA",
"street": "OceanPoint",
"street2": "OceanDrive",
"postcodeZip": "12345"
}
},
"browserPayment": {
"operation": "PAY",
"returnUrl": "{{remotehost}}/api/documentation/integrationGuidelines/index.html"
},
"customer": {
"account": {
"id": "customerAccount"
},
"dateOfBirth": "1999-12-31",
"email": "developer+au@optty.com",
"firstName": "Akash",
"lastName": "Mali",
"nationalId": "nationalId1",
"phone": "415-333-4568"
},
"order": {
"reference": "TEST-SUCCEED",
"amount": "9.00",
"currency": "USD"
},
"sourceOfFunds": {
"browserPayment": {
"type": "SPLITIT"
},
"type": "BROWSER_PAYMENT"
}
}
Initiate response
{
"billing": {
"address": {
"city": "Edinburgh",
"company": "MPGS",
"country": "USA",
"postcodeZip": "12345",
"stateProvince": "CA",
"street": "OceanPoint",
"street2": "OceanDrive"
}
},
"browserPayment": {
"interaction": {
"status": "INITIATED",
"timeInitiated": "2025-11-17T14:03:14.163Z"
},
"operation": "PAY",
"redirectHtml": "<div id=\"initiateRedirect\" xmlns=\"http://www.w3.org/1999/html\">\<iframe srcdoc=\"<script src='https://pay.sandbox.splitit.com/checkout/0J5V4VJELWZQRU4WI34Y/5.0'>\window.top.location.href='https://pay.sandbox.splitit.com/checkout/0J5V4VJELWZQRU4WI34Y/5.0';\</script>\" \id=\"redirectFrame\" \name=\"redirectFrame\" \height=\"100%\" \width=\"100%\"\></iframe>\</div>",
"returnUrl": "{{remotehost}}/api/documentation/integrationGuidelines/index.html"
},
"customer": {
"account": {
"id": "customerAccount"
},
"email": "developer+au@optty.com",
"firstName": "Akash",
"lastName": "Mali",
"nationalId": "nationalId1",
"phone": "415-333-4568"
},
"gatewayEntryPoint": "WEB_SERVICES_API",
"merchant": "OPTTY_MER1",
"order": {
"amount": 9,
"chargeback": {
"amount": 0,
"currency": "USD"
},
"creationTime": "2025-11-17T14:03:14.077Z",
"currency": "USD",
"id": "9159707841",
"lastUpdatedTime": "2025-11-17T14:03:15.899Z",
"merchantAmount": 9,
"merchantCurrency": "USD",
"reference": "TEST-SUCCEED",
"status": "INITIATED",
"totalAuthorizedAmount": 0,
"totalCapturedAmount": 0,
"totalDisbursedAmount": 0,
"totalRefundedAmount": 0
},
"response": {
"acquirerCode": "ACCEPTED",
"gatewayCode": "SUBMITTED",
"gatewayRecommendation": "NO_ACTION"
},
"result": "SUCCESS",
"shipping": {
"address": {
"city": "Edinburgh",
"company": "MPGS",
"country": "USA",
"postcodeZip": "12345",
"stateProvince": "CA",
"street": "OceanPoint",
"street2": "OceanDrive"
}
},
"sourceOfFunds": {
"browserPayment": {
"type": "SPLITIT"
},
"type": "BROWSER_PAYMENT"
},
"timeOfLastUpdate": "2025-11-17T14:03:15.899Z",
"timeOfRecord": "2025-11-17T14:03:14.156Z",
"transaction": {
"acquirer": {
"id": "OPTTY_QA_TESTACQ1",
"merchantId": "R1BXsx0cmZCms6ir"
},
"amount": 9,
"currency": "USD",
"id": "5108261963",
"source": "INTERNET",
"stan": "0",
"type": "PAYMENT"
},
"version": "100"
}
Interpretation of the transaction result
This table shows the transaction response codes for the possible scenarios that you may encounter after initiating the transaction.
| Initiate browser payment response | What this means |
|---|---|
response.gatewayCode = SUBMITTEDresult = SUCCESS
|
Redirect the payer using the URL provided in the Initiate Browser Payment response. |
| Retrieve transaction or retrieve order response | What this means |
|---|---|
response.gatewayCode = APPROVEDresult = SUCCESS
|
The payment is successful. |
response.gatewayCode = PENDINGresult = PENDING
|
The Mastercard Gateway is waiting for a confirmation from the acquirer. Retry RETRIEVE_TRANSACTION or listen to notifications from the Mastercard Gateway.
|
response.gatewayCode = CANCELLEDresult = FAILURE
|
The payer cancelled the payment. Offer an alternative payment method. |
response.gatewayCode = DECLINED or ACQUIRER_SYSTEM_ERRORresult = FAILURE
|
The payment was declined. Offer the payer the option to try another payment method. In the case of an ACQUIRER_SYSTEM_ERROR, you may inquire with the acquirer for the reason for payment failure, or retry the RETRIEVE_TRANSACTION.
|
response.gatewayCode = TIMED_OUTresult = FAILURE
|
Treat as declined. The Mastercard Gateway ensures the transaction is not successful or reverts the transaction. |
Splitit payment through Hosted Checkout
Hosted Checkout integration allows you to collect payment details from your payer through an interaction that the gateway hosts and displays.
From the API version 100 and later, Splitit payment is automatically available as a payment method once your payment service provider enables and configures you for this payment methods.
For more information, see Browser Payments through Hosted Checkout integration.
Webhook notifications
If you subscribed to Mastercard Gateway webhook notifications, you receive additional notifications on the paymentStatus.