Splitit · Schema
Splitit Installment Plan
Schema for a Splitit installment plan created on a shopper's existing credit card
PaymentsInstallmentsBuy Now Pay LaterCredit CardFintechE-commerce
Properties
| Name | Type | Description |
|---|---|---|
| installmentPlanNumber | string | Unique identifier for the installment plan assigned by Splitit |
| status | string | Current status of the installment plan |
| planData | object | Core data for the installment plan |
| consumerData | object | |
| creditCardDetails | object | |
| installments | array | Individual installment charge schedule |
| redirectUrls | object | |
| createdAt | string | ISO 8601 timestamp when the plan was created |
| updatedAt | string | ISO 8601 timestamp of the last plan update |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/splitit/json-schema/installment-plan.json",
"title": "Splitit Installment Plan",
"description": "Schema for a Splitit installment plan created on a shopper's existing credit card",
"type": "object",
"properties": {
"installmentPlanNumber": {
"type": "string",
"description": "Unique identifier for the installment plan assigned by Splitit"
},
"status": {
"type": "string",
"description": "Current status of the installment plan",
"enum": [
"Initialized",
"PendingPayment",
"Active",
"Cleared",
"Cancelled",
"Refunded",
"PartiallyRefunded"
]
},
"planData": {
"type": "object",
"description": "Core data for the installment plan",
"required": ["totalAmount", "numberOfInstallments"],
"properties": {
"totalAmount": {
"$ref": "#/$defs/Money"
},
"numberOfInstallments": {
"type": "integer",
"description": "Number of monthly installments",
"minimum": 2,
"maximum": 36
},
"refOrderNumber": {
"type": "string",
"description": "Merchant reference order number for cross-referencing"
},
"extendedParams": {
"type": "object",
"description": "Merchant-defined key-value parameters for custom data",
"additionalProperties": {
"type": "string"
}
},
"firstInstallmentAmount": {
"$ref": "#/$defs/Money"
},
"firstChargeDate": {
"type": "string",
"format": "date",
"description": "Scheduled date for the first installment charge"
}
}
},
"consumerData": {
"$ref": "#/$defs/ConsumerData"
},
"creditCardDetails": {
"$ref": "#/$defs/CreditCardDetails"
},
"installments": {
"type": "array",
"description": "Individual installment charge schedule",
"items": {
"$ref": "#/$defs/Installment"
}
},
"redirectUrls": {
"$ref": "#/$defs/RedirectUrls"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the plan was created"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp of the last plan update"
}
},
"required": ["installmentPlanNumber", "status", "planData"],
"$defs": {
"Money": {
"type": "object",
"description": "A monetary value with currency",
"required": ["value", "currency"],
"properties": {
"value": {
"type": "number",
"description": "Monetary amount",
"minimum": 0
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$",
"examples": ["USD", "EUR", "GBP", "AUD", "CAD"]
}
}
},
"ConsumerData": {
"type": "object",
"description": "Shopper/consumer information",
"properties": {
"fullName": {
"type": "string",
"description": "Shopper's full legal name"
},
"email": {
"type": "string",
"format": "email",
"description": "Shopper's email address"
},
"phoneNumber": {
"type": "string",
"description": "Shopper's phone number in international format"
},
"civilId": {
"type": "string",
"description": "National identification number if applicable"
},
"billingAddress": {
"$ref": "#/$defs/Address"
}
}
},
"CreditCardDetails": {
"type": "object",
"description": "Payment card details (handle with PCI DSS compliance)",
"properties": {
"cardNumber": {
"type": "string",
"description": "Full credit card number (PAN)",
"pattern": "^[0-9]{13,19}$"
},
"cardExpYear": {
"type": "integer",
"description": "Card expiration year (4 digits)",
"minimum": 2020,
"maximum": 2099
},
"cardExpMonth": {
"type": "integer",
"description": "Card expiration month",
"minimum": 1,
"maximum": 12
},
"cardCvv": {
"type": "string",
"description": "Card security code",
"pattern": "^[0-9]{3,4}$"
},
"cardHolderFullName": {
"type": "string",
"description": "Name as it appears on the credit card"
}
}
},
"Address": {
"type": "object",
"description": "Physical postal address",
"properties": {
"addressLine1": {
"type": "string",
"description": "Primary street address"
},
"addressLine2": {
"type": "string",
"description": "Secondary address information (apt, suite, etc.)"
},
"city": {
"type": "string",
"description": "City name"
},
"state": {
"type": "string",
"description": "State, province, or region code"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code",
"pattern": "^[A-Z]{2}$"
},
"zip": {
"type": "string",
"description": "Postal or ZIP code"
}
}
},
"Installment": {
"type": "object",
"description": "A single installment charge within a plan",
"properties": {
"installmentNumber": {
"type": "integer",
"description": "Sequential number of this installment (1-indexed)",
"minimum": 1
},
"amount": {
"$ref": "#/$defs/Money"
},
"processDateTime": {
"type": "string",
"format": "date-time",
"description": "Scheduled or actual processing date and time"
},
"status": {
"type": "string",
"description": "Status of this installment charge",
"enum": [
"Pending",
"Processing",
"Succeeded",
"Failed",
"Refunded"
]
}
}
},
"RedirectUrls": {
"type": "object",
"description": "URLs for post-checkout redirection",
"properties": {
"succeeded": {
"type": "string",
"format": "uri",
"description": "URL to redirect to on successful plan creation"
},
"failed": {
"type": "string",
"format": "uri",
"description": "URL to redirect to on plan creation failure"
},
"cancelled": {
"type": "string",
"format": "uri",
"description": "URL to redirect to if the shopper cancels"
}
}
}
}
}