Webhooks
The Webhooks section allows you to configure webhooks, which are notifications sent automatically by Splitit to a URL of your choice when specific events occur.
Each installment plan event has a corresponding webhook event provided by Splitit. When you subscribe to an event, an asynchronous call is made to your predefined endpoint from the Splitit servers. This call will be fired to your endpoint every hour, for 24 hours, until you reply with HTTP code 200.
-
Viewing and Searching Webhooks: Use the Search Bar in the Hub to find specific webhooks by entering relevant keywords
-
Managing Webhooks: Use the toggle switches next to each webhook to turn it on or off
-
Updating Webhooks: If a webhook URL has changed, enter the new URL under the appropriate webhook and click Update
- Available Webhooks
- Webhook Response Objects
Webhook Name | Event in Response Object | Description |
---|---|---|
Bin data changed | BinDataChanged | shopper's bin data changed |
Charge succeeded/charge failed | ChargeSucceeded/ChargeFailed | scheduled monthly charge succeeded/failed |
Customer credit card update succeeded | CustomerCreditCardUpdateSucceeded | card update succeeded |
Customer credit card update failed | CustomerCreditCardUpdateFailed | card update failed |
Customer details update succeeded/customer details update failed | CustomerDetailsUpdateSucceeded, CustomerDetailsUpdateFailed | customer details update succeeded/failed |
Dispute opened | DisputeOpened | sent upon dispute received notification from gateway |
Dispute lost | DisputeLost | dispute lost notification |
Dispute won | DisputeWon | dispute won notification |
Dispute closed | DisputeClosed | dispute closed notification |
Dispute pending | DisputePending | dispute pending notification |
Dispute RFI received | DisputeRFIReceived | dispute request for information received |
Full capture failed/full capture succeeded | FullCaptureFailed, FullCaptureSucceeded | full installment plan capture succeeded/failed |
Merchant financed | MerchantFinanced | money is transferred to the merchant in a funded model |
Plan approved failed/plan approved succeeded | PlanApprovedSucceeded, PlanApprovedFailed | plan approval by shopper succeeded/failed |
Plan cancelled succeeded/plan cancelled failed | PlanCancelledSucceeded, PlanCancelledFailed | plan cancellation succeeded/failed |
Plan cleared | PlanCleared | plan outstanding amount = 0 |
Plan created succeeded/plan created failed | PlanCreatedSucceeded/PlanCreatedFailed | plan creation (and authorization) succeeded or failed |
Plan delayed | PlanDelayed | plan entered delay for whatever reason |
Plan deleted | PlanDeleted | plan successfully deleted |
Plan recovered | PlanRecovered | plan recovered after delay |
Plan secured auth reminder should be sent | PlanSecuredAuthReminderShouldBeSent | plan secured, send auth reminder |
Plan updated succeeded/plan updated failed | PlanUpdatedSucceeded, PlanUpdatedFailed | plan update succeeded/failed |
Refund completed | RefundCompleted | a successful refund was processed |
Retry succeeded | RetrySucceeded | successful retry |
Retry failed | RetryFailed | failed retry |
Secure auth succeeded | SecureAuthSucceeded | successful secure auth |
Secure auth failed | SecureAuthFailed | failed secure auth |
Start installments succeeded/start installments failed | StartInstallmentsSucceeded, StartInstallmentsFailed | first installment succeeded/failed |
PlanCreatedSucceeded
{
"InstallmentPlanEventType": "PlanCreatedSucceeded",
"InstallmentPlan": {
"InstallmentPlanNumber": "xxxxxxxxxxxxxxxxxxxx",
"InstallmentPlanStatus": {
"Id": 3,
"Code": "InProgress",
"Description": "In Progress"
},
"Amount": {
"Value": 235.3,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OutstandingAmount": {
"Value": 156.87,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"NumberOfInstallments": 3,
"NumberOfProcessedInstallments": 1,
"OriginalAmount": {
"Value": 235.3,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"Consumer": {
"Id": "0",
"UserName": "jghhncc",
"FullName": "John Smith",
"Email": "jghhncc@splitit.com",
"PhoneNumber": "+972-546620588",
"CultureName": "en-US",
"RoleName": null,
"IsLocked": false,
"IsDataRestricted": false
},
"ActiveCard": {
"CardId": null,
"CardNumber": "**** **** **** 1114",
"CardExpMonth": "9",
"CardExpYear": "2019",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "John Smith",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": "street 1",
"AddressLine2": "Appartment 1",
"City": "TUCSON",
"Country": "US",
"State": "NY",
"Zip": "22222"
},
"Token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
"Terminal": {
"Id": xxxxx,
"Code": "WebApiTestChargeAfterTerminal",
"Description": "WebApiTestTerminal"
},
"Merchant": {
"Id": xxxxx,
"Code": "webapitest",
"Description": "WebApiTest"
},
"RefOrderNumber": "xxxxx",
"PurchaseMethod": {
"Id": 3,
"Code": "ECommerce",
"Description": "E-Commerce"
},
"Strategy": {
"Id": 1,
"Code": "SecuredPlan",
"Description": "Secured"
},
"DelayResolution": null,
"ExtendedParams": {
"AnyParameterKey1": "AnyParameterVal1",
"AnyParameterKey2": "AnyParameterVal2"
},
"IsFullCaptured": false,
"IsChargedBack": false,
"ArePaymentsOnHold": false,
"ScpFundingPercent": 0,
"TestMode": "None",
"CreationDateTime": "2021-08-21T05:09:09.3181228+00:00",
"Installments": [
{
"InstallmentNumber": 1,
"Amount": {
"Value": 78.43,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OriginalAmount": {
"Value": 78.43,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"ProcessDateTime": "2021-08-21T05:09:15.1681603Z",
"IsRefund": false,
"RequiredCredit": {
"Value": 235.3,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"CreatedDateTime": "2021-08-21T05:09:12.3913425Z",
"Status": {
"Id": 3,
"Code": "Finished",
"Description": "Finished"
},
"TransactionResults": [
{
"GatewayTransactionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"GatewayResultCode": "1",
"GatewayResultMessage": "Capture Succeeded",
"OperationType": {
"Id": 2,
"Code": "Capture",
"Description": "Captured"
},
"GatewayResult": true,
"GatewayTransactionDate": "2018-08-21T05:09:15.12136+00:00"
},
{
"GatewayTransactionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"GatewayResultCode": "1",
"GatewayResultMessage": "Authorize Succeeded",
"OperationType": {
"Id": 1,
"Code": "Authorize",
"Description": "Approved"
},
"GatewayResult": true,
"GatewayTransactionDate": "2018-08-21T05:09:13.7797514+00:00"
}
],
"CardDetails": {
"CardId": null,
"CardNumber": "**** **** **** 1114",
"CardExpMonth": "9",
"CardExpYear": "2019",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "John Smith",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": "street 1",
"AddressLine2": "Appartment 1",
"City": "TUCSON",
"Country": "US",
"State": "NY",
"Zip": "22222"
},
"Token": null
},
"Result": true
},
{
"InstallmentNumber": 2,
"Amount": {
"Value": 78.43,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OriginalAmount": {
"Value": 78.43,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"ProcessDateTime": "2018-09-21T05:09:14.6221568Z",
"IsRefund": false,
"RequiredCredit": {
"Value": 156.87,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"CreatedDateTime": "2018-08-21T05:09:12.3913425Z",
"Status": {
"Id": 2,
"Code": "WaitingForProcessDate",
"Description": "Waiting for process date"
},
"TransactionResults": [],
"CardDetails": null,
"Result": null
},
{
"InstallmentNumber": 3,
"Amount": {
"Value": 78.44,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OriginalAmount": {
"Value": 78.44,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"ProcessDateTime": "2018-10-21T05:09:14.6221568Z",
"IsRefund": false,
"RequiredCredit": {
"Value": 78.44,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"CreatedDateTime": "2018-08-21T05:09:12.3913425Z",
"Status": {
"Id": 2,
"Code": "WaitingForProcessDate",
"Description": "Waiting for process date"
},
"TransactionResults": [],
"CardDetails": null,
"Result": null
}
],
"SecureAuthorizations": [
{
"ProcessingDate": "2018-08-21T05:09:13.2649481+00:00",
"Amount": {
"Value": 156.87,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"TransactionResults": [
{
"GatewayTransactionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"GatewayResultCode": "1",
"GatewayResultMessage": "Authorize Succeeded",
"OperationType": {
"Id": 1,
"Code": "Authorize",
"Description": "Approved"
},
"GatewayResult": true,
"GatewayTransactionDate": "2018-08-21T05:09:13.2025477+00:00"
}
],
"CardDetails": {
"CardId": null,
"CardNumber": "**** **** **** 1114",
"CardExpMonth": "9",
"CardExpYear": "2019",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "John Smith",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": "street 1",
"AddressLine2": "Appartment 1",
"City": "TUCSON",
"Country": "US",
"State": "NY",
"Zip": "22222"
},
"Token": null
},
"Result": true
}
]
}
}
MerchantFinanced
AmountForFunding
= the final amount the merchant will eventually receive
OriginalPlanAmount
= the amount of the original plan
MerchantFinancedDate
= the date when the transfer occurred (not the date when the money arrives at the merchant's bank, as it generally takes a few days)
{
"InstallmentPlanEventType": "MerchantFinanced",
"InstallmentPlan": {
"InstallmentPlanNumber": "xxxxxxxxxx",
"AmountForFunding": xxx,
"AmountForFundingCurrency": "USD",
"OriginalPlanAmount": xxxx,
"OriginalPlanAmountCurrency": "USD",
"MerchantFinancedDate": "xxxx-xx-13T10:26:13.073"
}
}
FullCaptureFailed
{
"InstallmentPlanEventType": "FullCaptureFailed",
"InstallmentPlan": {
"InstallmentPlanNumber": "44224570084650485584",
"InstallmentPlanStatus": {
"Id": 6,
"Code": "Cleared",
"Description": "Cleared"
},
"Amount": {
"Value": 121,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OutstandingAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"NumberOfInstallments": 2,
"NumberOfProcessedInstallments": 2,
"OriginalAmount": {
"Value": 121,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"Consumer": {
"Id": "87eba066-fab5-4f9d-bf1e-0afba4a5f2e1",
"UniqueId": "87eba066-fab5-4f9d-bf1e-0afba4a5f2e1",
"UserName": "184858bc_JohnS@splitit.com",
"FullName": "John Smith",
"Email": "JohnS@splitit.com",
"PhoneNumber": "2342342342",
"CultureName": "en-US",
"RoleName": null,
"IsLocked": false,
"IsDataRestricted": false,
"IsDataPrivateRestricted": false
},
"ActiveCard": {
"CardId": "SMYwb/LMMbb782wYWyfck8DFcO8u29KCbjWkEy4BEOPGX+2c9688y/+v0DTpSAQntptWF+P81OUNJhKV7d3LHA==",
"CardNumber": "************1111",
"CardExpMonth": "12",
"CardExpYear": "2030",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "John Smith",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": "Error MYCUSTOMERROR filter Authorization FirstInstallmentFinished",
"AddressLine2": "Apartment 1",
"City": "New York",
"Country": "US",
"State": "NY",
"Zip": "10016",
"FullAddressLine": "Error MYCUSTOMERROR filter Authorization FirstInstallmentFinished,Apartment 1,New York,NY,US"
},
"Token": "a7381782-2aba-4829-b475-29442e2d7b1c"
},
"FraudCheck": null,
"Terminal": {
"Id": 31817,
"Code": null,
"Description": "Splitit Tech Writer"
},
"Merchant": {
"Name": "Splitit Tech Writer_1",
"Id": 31658,
"Code": "splitittechwriter1",
"Description": "Splitit Tech Writer_1"
},
"RefOrderNumber": "xxxxxx",
"PurchaseMethod": {
"Id": 3,
"Code": "ECommerce",
"Description": "E-Commerce"
},
"Strategy": {
"Id": 1,
"Code": "SecuredPlan",
"Description": "Secured"
},
"DelayResolution": null,
"ExtendedParams": {
"AnyParameterKey1": "AnyParameterVal1",
"AnyParameterKey2": "AnyParameterVal2",
"acceptHeader": "text/html,application/xhtml+xml,application/xml;q",
"colorDepth": "24",
"javaEnabled": "false",
"javascriptEnabled": "true",
"language": "en-US",
"screenHeight": "1080",
"screenWidth": "1920",
"timeZoneOffset": "240",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
"challengeWindowSize": "Small",
"browser_size": "01",
"forterToken": "da5514225d994c548cc6f957d672df56_1665163691592__UDF4_9ck"
},
"IsFullCaptured": true,
"IsChargedBack": false,
"ArePaymentsOnHold": false,
"ScpFundingPercent": 0,
"FundingStatus": "Monthly",
"TestMode": "None",
"CreationDateTime": "2022-10-07T17:27:30.28",
"LifeTimeUrlExpirationTime": "2022-10-14T17:27:30.28",
"Installments": [
{
"InstallmentNumber": 1,
"Amount": {
"Value": 60.5,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OriginalAmount": {
"Value": 60.5,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"ProcessDateTime": "2022-10-07T17:28:30.25",
"IsRefund": false,
"RequiredCredit": {
"Value": 181.5,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"CreatedDateTime": "2022-10-07T17:28:10.537",
"Status": {
"Id": 3,
"Code": "Finished",
"Description": "Finished"
},
"TransactionResults": [
{
"GatewayTransactionId": "b4ebf438-da3f-4bed-846f-f13f5f30a4f7",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": "9d2b4022-ff69-403e-a21c-0336498682f0",
"GatewayResultCode": "1",
"GatewayResultMessage": "Capture Succeeded",
"OperationType": {
"Id": 2,
"Code": "Capture",
"Description": "Captured"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T17:28:30.213Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
},
{
"GatewayTransactionId": "b4ebf438-da3f-4bed-846f-f13f5f30a4f7",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": "45be65bb-12a3-4b76-ba53-fc4d287f9747",
"GatewayResultCode": "1",
"GatewayResultMessage": "Authorize Succeeded",
"OperationType": {
"Id": 1,
"Code": "Authorize",
"Description": "Approved"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T17:28:29.875Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
}
],
"CardDetails": {
"CardId": "SMYwb/LMMbb782wYWyfck8DFcO8u29KCbjWkEy4BEOPGX+2c9688y/+v0DTpSAQntptWF+P81OUNJhKV7d3LHA==",
"CardNumber": "************1111",
"CardExpMonth": "12",
"CardExpYear": "2030",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "John Smith",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": "Error MYCUSTOMERROR filter Authorization FirstInstallmentFinished",
"AddressLine2": "Apartment 1",
"City": "New York",
"Country": "US",
"State": "NY",
"Zip": "10016",
"FullAddressLine": "Error MYCUSTOMERROR filter Authorization FirstInstallmentFinished,Apartment 1,New York,NY,US"
},
"Token": null
},
"Result": true,
"PaymentMethod": "CreditCard"
},
{
"InstallmentNumber": 2,
"Amount": {
"Value": 60.5,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OriginalAmount": {
"Value": 60.5,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"ProcessDateTime": "2022-11-07T17:28:39.96",
"IsRefund": false,
"RequiredCredit": {
"Value": 121,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"CreatedDateTime": "2022-10-07T17:28:10.537",
"Status": {
"Id": 4,
"Code": "Deleted",
"Description": "Deleted"
},
"TransactionResults": [],
"CardDetails": null,
"Result": null,
"PaymentMethod": "0"
},
{
"InstallmentNumber": 3,
"Amount": {
"Value": 60.5,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OriginalAmount": {
"Value": 60.5,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"ProcessDateTime": "2022-10-07T17:29:35.473",
"IsRefund": false,
"RequiredCredit": {
"Value": 60.5,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"CreatedDateTime": "2022-10-07T17:29:35.12",
"Status": {
"Id": 3,
"Code": "Finished",
"Description": "Finished"
},
"TransactionResults": [
{
"GatewayTransactionId": "e323363a-2ba7-46da-a6fd-0ac80a915b10",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": "9f26bdac-13a8-4828-8dd2-15972fa1ed55",
"GatewayResultCode": "1",
"GatewayResultMessage": "Capture Succeeded",
"OperationType": {
"Id": 2,
"Code": "Capture",
"Description": "Captured"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T17:29:35.44Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
},
{
"GatewayTransactionId": "e323363a-2ba7-46da-a6fd-0ac80a915b10",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": "1ed3bd5e-dea2-4efb-ae0a-c81f10e0294f",
"GatewayResultCode": "1",
"GatewayResultMessage": "Authorize Succeeded",
"OperationType": {
"Id": 1,
"Code": "Authorize",
"Description": "Approved"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T17:28:29.667Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
}
],
"CardDetails": {
"CardId": "SMYwb/LMMbb782wYWyfck8DFcO8u29KCbjWkEy4BEOPGX+2c9688y/+v0DTpSAQntptWF+P81OUNJhKV7d3LHA==",
"CardNumber": "************1111",
"CardExpMonth": "12",
"CardExpYear": "2030",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "John Smith",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": "Error MYCUSTOMERROR filter Authorization FirstInstallmentFinished",
"AddressLine2": "Apartment 1",
"City": "New York",
"Country": "US",
"State": "NY",
"Zip": "10016",
"FullAddressLine": "Error MYCUSTOMERROR filter Authorization FirstInstallmentFinished,Apartment 1,New York,NY,US"
},
"Token": null
},
"Result": true,
"PaymentMethod": "CreditCard"
}
],
"SecureAuthorizations": [
{
"ProcessingDate": "2022-10-07T17:28:29.697",
"Amount": {
"Value": 60.5,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"TransactionResults": [
{
"GatewayTransactionId": "e323363a-2ba7-46da-a6fd-0ac80a915b10",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": null,
"GatewayResultCode": "1",
"GatewayResultMessage": "Authorize Succeeded",
"OperationType": {
"Id": 1,
"Code": "Authorize",
"Description": "Approved"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T17:28:29.667Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
}
],
"CardDetails": {
"CardId": "SMYwb/LMMbb782wYWyfck8DFcO8u29KCbjWkEy4BEOPGX+2c9688y/+v0DTpSAQntptWF+P81OUNJhKV7d3LHA==",
"CardNumber": "************1111",
"CardExpMonth": "12",
"CardExpYear": "2030",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "John Smith",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": "Error MYCUSTOMERROR filter Authorization FirstInstallmentFinished",
"AddressLine2": "Apartment 1",
"City": "New York",
"Country": "US",
"State": "NY",
"Zip": "10016",
"FullAddressLine": "Error MYCUSTOMERROR filter Authorization FirstInstallmentFinished,Apartment 1,New York,NY,US"
},
"Token": null
},
"Result": true
}
],
"LogoUrl": null,
"IsInAutoRetry": false,
"PaymentMethod": "CreditCard",
"AllowCardUpdateOnSplititPortals": true,
"OnHoldLastOpenDate": null,
"OnHoldLastOpenUserId": null
}
}
RefundCompleted
{
"InstallmentPlanEventType":"RefundCompleted",
"RefundIdGuid":"7c415b13-b16d-486b-ac75-aeb7f852ad8e",
"RefundId":"7c415b13-b16d-486b-ac75-aeb7f852ad8e",
"IdempotencyKey":"7c412b12-b16d-486b-ac75-aeb7f852ad8e",
"InstallmentPlanNumber":"00G1ONI0HJELMU4S9U37",
"CurrencyCode":"USD",
"CreatedOn":"2024-03-21T14:10:52.5657411Z",
"RefundDetails": {
"DeductedFromOutstandingAmount": {
"Currency": {
"Code": "USD",
"Description": "US Dollar",
"Symbol": "US$"
},
"Value": 60.00,
"NonChargedAmountLst": [
20.00,
20.00,
20.00
]
},
"CreditToShopper": []
},
"RefundSummary": {
"TotalAmount": 60.00,
"FailedAmount": 0.0,
"SucceedAmount": 60.00,
"PendingAmount": 0.0
},
"ReferenceId": "abcTestId"
}
FullCaptureSucceeded
{
"InstallmentPlanEventType": "FullCaptureSucceeded",
"InstallmentPlan": {
"InstallmentPlanNumber": "62111114657217017628",
"InstallmentPlanStatus": {
"Id": 6,
"Code": "Cleared",
"Description": "Cleared"
},
"Amount": {
"Value": 73,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OutstandingAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"NumberOfInstallments": 2,
"NumberOfProcessedInstallments": 2,
"OriginalAmount": {
"Value": 98,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"Consumer": {
"Id": "5604f696-96d3-429f-8a47-514237126a08",
"UniqueId": "5604f696-96d3-429f-8a47-514237126a08",
"UserName": "9a65fe04_ebs99@gmail.com",
"FullName": "Joe Test",
"Email": "eb2s99@gmail.com",
"PhoneNumber": "+11112493865",
"CultureName": "en-US",
"RoleName": null,
"IsLocked": false,
"IsDataRestricted": false,
"IsDataPrivateRestricted": false
},
"ActiveCard": {
"CardId": "BxZo29NwhiUNrXZMl7k57I+tATPOoOcI7q3nGRvHypcrp/jH6omuiz5+pnUBXwJ26QYPQuDGmHcC0jLCI2j7zA==",
"CardNumber": "**** **** **** 1111",
"CardExpMonth": "11",
"CardExpYear": "2029",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "Joe Test",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": null,
"AddressLine2": "",
"City": "Bethlehem",
"Country": "US",
"State": "PA",
"Zip": null,
"FullAddressLine": ",Bethlehem,PA,US"
},
"Token": "3eb2424e-931a-4ab5-8330-6e4f2ad78f0f"
},
"FraudCheck": {
"FraudCheckResult": {
"Id": 3,
"Code": "NotReviewed",
"Description": "Not Reviewed"
},
"ProviderResultCode": "DecisionByPolicy",
"ProviderResultDesc": "not reviewed",
"ProviderReferenceId": "62788064657217017628"
},
"Terminal": {
"Id": 31817,
"Code": null,
"Description": "Splitit Tech Writer"
},
"Merchant": {
"Name": "Splitit Tech Writer_1",
"Id": 31658,
"Code": "splitittechwriter1",
"Description": "Splitit Tech Writer_1"
},
"RefOrderNumber": "",
"PurchaseMethod": {
"Id": 1,
"Code": "InStore",
"Description": "In Store"
},
"Strategy": {
"Id": 1,
"Code": "SecuredPlan",
"Description": "Secured"
},
"DelayResolution": null,
"ExtendedParams": {
"acceptHeader": "text/html,application/xhtml+xml,application/xml;q",
"colorDepth": "24",
"javaEnabled": "false",
"javascriptEnabled": "true",
"language": "en-US",
"screenHeight": "1080",
"screenWidth": "1920",
"timeZoneOffset": "240",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
"challengeWindowSize": "Small",
"browser_size": "01",
"forterToken": "da5521125d984c548cc6f957d672df56_1665161355025__UDF4_9ck"
},
"IsFullCaptured": true,
"IsChargedBack": false,
"ArePaymentsOnHold": false,
"ScpFundingPercent": 0,
"FundingStatus": "Monthly",
"TestMode": "None",
"CreationDateTime": "2022-10-07T16:48:52.733",
"LifeTimeUrlExpirationTime": "2022-10-14T16:48:52.733",
"Installments": [
{
"InstallmentNumber": 1,
"Amount": {
"Value": 49,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OriginalAmount": {
"Value": 49,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"ProcessDateTime": "2022-10-07T16:49:52.04",
"IsRefund": false,
"RequiredCredit": {
"Value": 97,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"CreatedDateTime": "2022-10-07T16:48:52.873",
"Status": {
"Id": 3,
"Code": "Finished",
"Description": "Finished"
},
"TransactionResults": [
{
"GatewayTransactionId": "6613aea1-34b9-429d-8e1b-9ead749b8c05",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": "a6ee626a-778d-4875-a42f-fc8ca05124b7",
"GatewayResultCode": "1",
"GatewayResultMessage": "Capture Succeeded",
"OperationType": {
"Id": 2,
"Code": "Capture",
"Description": "Captured"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T16:49:52Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
},
{
"GatewayTransactionId": "6613aea1-34b9-429d-8e1b-9ead749b8c05",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": "dd6132d7-199b-4730-a8d8-6216ab1b799a",
"GatewayResultCode": "1",
"GatewayResultMessage": "Authorize Succeeded",
"OperationType": {
"Id": 1,
"Code": "Authorize",
"Description": "Approved"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T16:49:51.657Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
}
],
"CardDetails": {
"CardId": "BxZo29NwhiUNrXZMl7k57I+tATPOoOcI7q3nGRvHypcrp/jH6omuiz5+pnUBXwJ26QYPQuDGmHcC0jLCI2j7zA==",
"CardNumber": "**** **** **** 1111",
"CardExpMonth": "11",
"CardExpYear": "2029",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "Joe Test",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": null,
"AddressLine2": "",
"City": "Bethlehem",
"Country": "US",
"State": "PA",
"Zip": null,
"FullAddressLine": ",Bethlehem,PA,US"
},
"Token": null
},
"Result": true,
"PaymentMethod": "CreditCard"
},
{
"InstallmentNumber": 2,
"Amount": {
"Value": 24,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OriginalAmount": {
"Value": 49,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"ProcessDateTime": "2022-11-07T16:50:01.727",
"IsRefund": false,
"RequiredCredit": {
"Value": 48,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"CreatedDateTime": "2022-10-07T16:48:52.873",
"Status": {
"Id": 4,
"Code": "Deleted",
"Description": "Deleted"
},
"TransactionResults": [],
"CardDetails": null,
"Result": null,
"PaymentMethod": "0"
},
{
"InstallmentNumber": 3,
"Amount": {
"Value": 24,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"OriginalAmount": {
"Value": 49,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"RefundAmount": {
"Value": 0,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"ProcessDateTime": "2022-10-07T16:58:38.723",
"IsRefund": false,
"RequiredCredit": {
"Value": 24,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"CreatedDateTime": "2022-10-07T16:58:38.427",
"Status": {
"Id": 3,
"Code": "Finished",
"Description": "Finished"
},
"TransactionResults": [
{
"GatewayTransactionId": "9b7c56d0-f652-44da-9971-49b06d30d388",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": "e4a658aa-b675-49fd-af5b-a2f3f180697e",
"GatewayResultCode": "1",
"GatewayResultMessage": "Capture Succeeded",
"OperationType": {
"Id": 2,
"Code": "Capture",
"Description": "Captured"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T16:58:38.686Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
},
{
"GatewayTransactionId": "9b7c56d0-f652-44da-9971-49b06d30d388",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": "408ec5bc-d024-4991-bdd4-9ec5e401b45a",
"GatewayResultCode": "1",
"GatewayResultMessage": "Authorize Succeeded",
"OperationType": {
"Id": 1,
"Code": "Authorize",
"Description": "Approved"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T16:49:51.457Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
}
],
"CardDetails": {
"CardId": "BxZo29NwhiUNrXZMl7k57I+tATPOoOcI7q3nGRvHypcrp/jH6omuiz5+pnUBXwJ26QYPQuDGmHcC0jLCI2j7zA==",
"CardNumber": "**** **** **** 1111",
"CardExpMonth": "11",
"CardExpYear": "2029",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "Joe Test",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": null,
"AddressLine2": "",
"City": "Bethlehem",
"Country": "US",
"State": "PA",
"Zip": null,
"FullAddressLine": ",Bethlehem,PA,US"
},
"Token": null
},
"Result": true,
"PaymentMethod": "CreditCard"
}
],
"SecureAuthorizations": [
{
"ProcessingDate": "2022-10-07T16:49:51.483",
"Amount": {
"Value": 49,
"Currency": {
"Symbol": "US$",
"Id": 1,
"Code": "USD",
"Description": "US Dollar"
}
},
"TransactionResults": [
{
"GatewayTransactionId": "9b7c56d0-f652-44da-9971-49b06d30d388",
"SplititTransactionId": 0,
"SplititGatewayTransactionId": null,
"GatewayResultCode": "1",
"GatewayResultMessage": "Authorize Succeeded",
"OperationType": {
"Id": 1,
"Code": "Authorize",
"Description": "Approved"
},
"GatewayResult": true,
"GatewayTransactionDate": "2022-10-07T16:49:51.457Z",
"IsChargeback": false,
"AVSResult": null,
"CVCResult": null
}
],
"CardDetails": {
"CardId": "BxZo29NwhiUNrXZMl7k57I+tATPOoOcI7q3nGRvHypcrp/jH6omuiz5+pnUBXwJ26QYPQuDGmHcC0jLCI2j7zA==",
"CardNumber": "**** **** **** 1111",
"CardExpMonth": "11",
"CardExpYear": "2029",
"CardBrand": {
"Id": 2,
"Code": "Visa",
"Description": "VISA"
},
"CardType": {
"Id": 1,
"Code": "Credit",
"Description": "CREDIT"
},
"Bin": "411111",
"CardHolderFullName": "Joe Test",
"CardCvv": "[Filtered]",
"Address": {
"AddressLine": null,
"AddressLine2": "",
"City": "Bethlehem",
"Country": "US",
"State": "PA",
"Zip": null,
"FullAddressLine": ",Bethlehem,PA,US"
},
"Token": null
},
"Result": true
}
],
"LogoUrl": null,
"IsInAutoRetry": false,
"PaymentMethod": "CreditCard",
"AllowCardUpdateOnSplititPortals": true,
"OnHoldLastOpenDate": null,
"OnHoldLastOpenUserId": null
}
}
DisputeReceived
{
"InstallmentPlanNumber": "12326416283541867056",
"DisputeStatus": "Open",
"DisputeCreatedDate": "2022-11-29T00:00:00",
"Amount": 10.46,
"Reason": "fraudulent",
"GatewayTransactionId": "pay_g37u5enwgjjezps3gixr7ni6oi",
"TraceId": "0HMMHC5TQ5H05:00000013#rr0C3wAA",
"TransactionStatus": "Captured",
"CurrencyCode": "USD",
"DisputeUntilDate": "2022-12-14T00:00:00",
"RefOrderNumber": "595167"
}
DisputeWon
{
"InstallmentPlanNumber": "38517140260048411012",
"DisputeStatus": "Won",
"DisputeCreatedDate": "2022-12-08T00:00:00",
"Amount": 10.45,
"Reason": "fraudulent",
"GatewayTransactionId": "pay_cutuip45lljeflsq5cze6mhh7y",
"TraceId": "0HMMP5HRFJJHG:00000003#WC8F7WG1kQAA",
"TransactionStatus": "Captured",
"CurrencyCode": "USD",
"DisputeUntilDate": "2022-12-23T00:00:00",
"RefOrderNumber": "611777"
}
DisputeLost
{
"InstallmentPlanNumber": "42405325665477085413",
"DisputeStatus": "Lost",
"DisputeCreatedDate": "2022-12-08T00:00:00",
"Amount": 10.46,
"Reason": "fraudulent",
"GatewayTransactionId": "pay_unjq5scmbcxefmjtd2lxttveaa",
"TraceId": "0HMMP5HRFJJHG:00000004#bi0yqxm0SzH5RlwAA",
"TransactionStatus": "Captured",
"CurrencyCode": "USD",
"DisputeUntilDate": "2022-12-23T00:00:00",
"RefOrderNumber": "144268"
}
AMS API: OnboardingInitialSetup
{
"Account": {
"AccountId": "SPL_27457290",
"AccountName": "Test Account Name",
"AccountEmail": "test@gmail.com",
"ApprovedDate": "2024-05-02T10:48:41.606Z",
"ParentId": "SPL_32212338",
"ParentName": "USD FUN 010524",
"Status": "Approved",
"Terminals": [
{
"Name": "mock2",
"Apikey": "1eceb6a6-a36e-48ff-80b5-8da468d2c4c1"
}
]
},
"Errors": null,
"StatusCode": 200,
"TraceId": "0HN3AJ7ABINQT:00000024#bvowAA",
"IsSuccess": true
}
Additional Webhooks Information
Signature Validation for Added Security
All outgoing webhooks have an idempotency key in their headers, "X-Splitit-IdempotencyKey," along with a signature, "X-Splitit-Signature." The signature is calculated by concatenating the idempotency key, a semicolon and the body of the webhook in the form KEY;BODY.
You can validate the signature with Python:
Signature Validation with Python
import base64
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography import x509
# --- Splitit public certificate (PEM) --- (find here for prod: https://webhooks-v2.splitit.com/api/v1/auth/public-keys and find here for sandbox: https://webhooks-v2.sandbox.splitit.com/api/v1/auth/public-keys)
CERT_PEM = """-----BEGIN CERTIFICATE-----
MIIDBTCCAb2gAwIBAgIJAPSm5WApGIbtMD0GCSqGSIb3DQEBCjAwoA0wCwYJYIZI
AWUDBAICoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCAqIDAgEwMBIxEDAOBgNV
BAMTB1NwbGl0aXQwHhcNMjUwNTE0MTUwMTQ4WhcNMjYwNTE0MTUwMTQ4WjASMRAw
DgYDVQQDEwdTcGxpdGl0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
3x4hWL5PufM6BMSOStqwexC8Bx4AJnn9mQxbDWKw1qTNi6qJR2TDUiBxRlX9z8Ws
X/zWNK4DPO+9wC6ZTYW2uUjbNHKSCYLgA8Nc7Zg4Zg165MtrBhZwd5Ot0vkI1DLI
wO++RzBLyb7QeISK2NRz4I9c17U0Weqk5n4KVv8Qecmhyeeoe8U1tb4NR/x256Mf
JMOHvKMDy9I0p8HjIYuFXzQoQCoEjVuyk78amyAz+mrKO1RUzZlZCRx0mbQK9Sir
9X2Tpe6A4XH/r2K1JHDgTHM7+f4ZPN4lO0PQQGFvwTify7DVHxRnRaEJ473vdAXU
SBG8CFw7Mm+qwtwShIl+GQIDAQABMD0GCSqGSIb3DQEBCjAwoA0wCwYJYIZIAWUD
BAICoRowGAYJKoZIhvcNAQEIMAsGCWCGSAFlAwQCAqIDAgEwA4IBAQBLXw+MsR0V
PBaA9O/3DT8qAM7CDNuF59RRBd6XOWanIEwqz14Dxp2qodn1cjr0iUKvLe9g2WJH
lEsTYbfxiL57KAGeue9UrZtjoPfOaOYtGu/x55DC0wUSDORl03vOZUiOE0dns0HA
m5GMvM9jJisn71B+wjqHcn2IH3B3PPKNx6iZC7/eJgIt7xstX1k0DIP6/lSLGSaT
rzCLmliRqjCV+WGEl/m4eNXsA0bbdYsFGj2qcqWqOWZWJTykwFnoDrpcyit0OMag
2DPpTFirR7NVpp45IP0E6X6YHvOLUUcAd6tztFlWt7dc1yuXStbmlTMM/qQhPhbe
0ymn5Fao4bfX
-----END CERTIFICATE-----"""
# --- Example inputs ---
IDEMPOTENCY_KEY = "6b3ef735844f4fac9c53b131b770af9a6388575177543093588e459a8139d64e6cbf985fd3b6462d2a"
BODY = (
'{"InstallmentPlanEventType":"PlanCreatedSucceeded","InstallmentPlan":{"InstallmentPlanNumber":"0XJS76G9N73GQU49E3E0","InstallmentPlanStatus":{"Id":3,"Code":"InProgress","Description":"In Progress"},"Amount":{"Value":1593.00,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"OutstandingAmount":{"Value":1593.00,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"NumberOfInstallments":2,"NumberOfProcessedInstallments":0,"OriginalAmount":{"Value":1593.00,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"RefundAmount":{"Value":0.00,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"Consumer":{"Id":"525c332c-4742-45a5-bf54-2db47935c548","UniqueId":"525c332c-4742-45a5-bf54-2db47935c548","UserName":"aASAS@sada.com","FullName":"adasd dads","Email":"aASAS@sada.com","PhoneNumber":"8457656","CultureName":"pt-PT","RoleName":null,"IsLocked":false,"IsDataRestricted":false,"IsDataPrivateRestricted":false},"ActiveCard":{"CardId":"WdCexD3eTJelpBgvOLomwk95DDYlJfJO9EJ","CardNumber":"************1111","CardExpMonth":null,"CardExpYear":null,"CardBrand":{"Id":2,"Code":"Visa","Description":"VISA"},"CardType":{"Id":1,"Code":"Credit","Description":"CREDIT"},"Bin":"411111","CardHolderFullName":"a**** d***","CardCvv":"[Filtered]","Address":{"AddressLine":"qweqweqw","AddressLine2":null,"City":"portimao","Country":"PT","State":null,"Zip":"8500-112","FullAddressLine":"qweqweqw,portimao,PT"},"Token":null,"FpanLast4Digits":null},"FraudCheck":{"FraudCheckResult":{"Id":3,"Code":"NotReviewed","Description":"Not Reviewed"}},"Terminal":{"NewId":"SPL_000054742","ApiKey":"0859bab9-3ce9-4568-9353-b623fb53280f","Id":-1,"Code":"SPL_000054742","Description":"BlueSnapDirect"},"Merchant":{"Name":"Emma Sleep Test","NewId":"SPL_000054742","MerchantFacingName":"Emma Sleep Test","Id":-1,"Code":"SPL_000054742","Description":"Emma Sleep Test"},"RefOrderNumber":"0015-VBW59J","PurchaseMethod":{"Id":3,"Code":"ECommerce","Description":"E-Commerce"},"Strategy":{"Id":1,"Code":"SecuredPlan","Description":"Secured"},"DelayResolution":null,"ExtendedParams":{"userAgent":"node","ipAdd'+'ress":"..f'+'fff.1'+'27.'+'0.0.6"},"IsFullCaptured":false,"IsChargedBack":false,"ArePaymentsOnHold":false,"ScpFundingPercent":0.0,"FundingStatus":"NotDetermined","TestMode":"None","CreationDateTime":"2025-06-17T10:09:34.867","LifeTimeUrlExpirationTime":"2025-06-24T10:09:34.867","Installments":[{"InstallmentId":"14688634","InstallmentNumber":1,"Amount":{"Value":796.50,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"OriginalAmount":{"Value":796.50,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"RefundAmount":{"Value":0.00,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"ProcessDateTime":"2025-06-17T10:09:45.167","IsRefund":false,"RequiredCredit":{"Value":1593.00,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"CreatedDateTime":"2025-06-17T10:09:34.997","Status":{"Id":2,"Code":"WaitingForProcessDate","Description":"Waiting for process date"},"TransactionResults":[{"GatewayTransactionId":"1113035925","SplititTransactionId":0,"SplititGatewayTransactionId":"7736aac1-b5ee-4fca-94f9-0ad17902d41f","GatewayResultCode":"AUTH_ONLY","GatewayResultMessage":"AUTH_ONLY","OperationType":{"Id":1,"Code":"Authorize","Description":"Approved"},"GatewayResult":true,"GatewayTransactionDate":"2025-06-17T10:09:34.833Z","IsChargeback":false,"AVSResult":{"Code":null,"Description":null},"CVCResult":{"Code":null,"Description":null}}],"CardDetails":{"CardId":"WdCexD3eTJelpBgvOLomwk95DDYlJfJO9EJ","CardNumber":"************1111","CardExpMonth":null,"CardExpYear":null,"CardBrand":{"Id":2,"Code":"Visa","Description":"VISA"},"CardType":{"Id":1,"Code":"Credit","Description":"CREDIT"},"Bin":"411111","CardHolderFullName":"a**** d***","CardCvv":"[Filtered]","Address":{"AddressLine":"qweqweqw","AddressLine2":null,"City":"portimao","Country":"PT","State":null,"Zip":"8500-112","FullAddressLine":"qweqweqw,portimao,PT"},"Token":null,"FpanLast4Digits":null},"Result":true,"PaymentMethod":"CreditCard","ConsumerFeeAmount":0.0,"OriginalConsumerFeeAmount":{"Value":0.0,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}}},{"InstallmentId":"14688635","InstallmentNumber":2,"Amount":{"Value":796.50,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"OriginalAmount":{"Value":796.50,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"RefundAmount":{"Value":0.00,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"ProcessDateTime":"2025-07-17T10:09:45.167","IsRefund":false,"RequiredCredit":{"Value":796.50,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"CreatedDateTime":"2025-06-17T10:09:34.997","Status":{"Id":2,"Code":"WaitingForProcessDate","Description":"Waiting for process date"},"TransactionResults":[],"CardDetails":{"CardId":"WdCexD3eTJelpBgvOLomwk95DDYlJfJO9EJ","CardNumber":"************1111","CardExpMonth":null,"CardExpYear":null,"CardBrand":{"Id":2,"Code":"Visa","Description":"VISA"},"CardType":{"Id":1,"Code":"Credit","Description":"CREDIT"},"Bin":"411111","CardHolderFullName":"a**** d***","CardCvv":"[Filtered]","Address":{"AddressLine":"qweqweqw","AddressLine2":null,"City":"portimao","Country":"PT","State":null,"Zip":"8500-112","FullAddressLine":"qweqweqw,portimao,PT"},"Token":null,"FpanLast4Digits":null},"Result":null,"PaymentMethod":"CreditCard","ConsumerFeeAmount":0.0,"OriginalConsumerFeeAmount":{"Value":0.0,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}}}],"SecureAuthorizations":[{"ProcessingDate":"2025-06-17T10:09:35.07","Amount":{"Value":796.50,"Currency":{"Symbol":"€","Id":4,"Code":"EUR","Description":"Euro"}},"TransactionResults":[{"GatewayTransactionId":"1113036103","SplititTransactionId":0,"SplititGatewayTransactionId":null,"GatewayResultCode":"AUTH_ONLY","GatewayResultMessage":"AUTH_ONLY","OperationType":{"Id":1,"Code":"Authorize","Description":"Approved"},"GatewayResult":true,"GatewayTransactionDate":"2025-06-17T10:09:33.338Z","IsChargeback":false,"AVSResult":{"Code":null,"Description":null},"CVCResult":{"Code":null,"Description":null}}],"CardDetails":{"CardId":"WdCexD3eTJelpBgvOLomwk95DDYlJfJO9EJ","CardNumber":"************1111","CardExpMonth":null,"CardExpYear":null,"CardBrand":{"Id":2,"Code":"Visa","Description":"VISA"},"CardType":{"Id":1,"Code":"Credit","Description":"CREDIT"},"Bin":"411111","CardHolderFullName":"a**** d***","CardCvv":"[Filtered]","Address":{"AddressLine":"qweqweqw","AddressLine2":null,"City":"portimao","Country":"PT","State":null,"Zip":"8500-112","FullAddressLine":"qweqweqw,portimao,PT"},"Token":null,"FpanLast4Digits":null},"Result":true}],"LogoU'+'rl":null,"IsInAutoRetry":false,"PaymentMethod":"CreditCard","AllowCardUpdateOnSplititPortals":true,"OnHoldLastOpenDate":null,"OnHoldLastOpenUserId":null,"InstallmentsScheduleInterval":0,"ExternalPaymentProvider":null,"TerminalApiKey":null,"AmountData":null,"IsPlanWithConsumerFees":false,"NextAuthorization":null,"AnnualPercentageRate":null}}'
)
SIGNATURE_B64 = (
"NC7LOhvRK4JSx0Weibp4gob2L27KSqUg7DHDGaJrRk8PQL+kCCASyvo6f5PjHa0ehJg5eODkWmnOMPpXGVjsvI47A7/L0uxwu/TBWQwo3oLWFYAcSoDwFk6Qbkbh1PrpgI9oRbOtkfLkbVOfdJiubbrFE2kVIgRk7iGdVGZDMh3f17Frqs/57nP0j8qjyFvNmZdO36njKiIbMzVkc6AShCMMOXaI7BP4doUQJIhFQNihsZFC02PpYB5KbKGGiVntEAMyF8//KNyfcgG3ijd8Zjx+gT9/x2/aVZdqTsq9pNWvUApngZVUwPFg7v5dCEhBFf/PsF5LvTqMN8sjxUe/Sw=="
)
def verify_signature(message: bytes, signature_b64: str) -> bool:
"""Verify RSA‑PSS SHA‑256 signature using the public key from the certificate."""
cert = x509.load_pem_x509_certificate(CERT_PEM.encode())
public_key = cert.public_key()
signature = base64.b64decode(signature_b64)
try:
public_key.verify(
signature,
message,
padding.PSS(
mgf=padding.MGF1(hashes.SHA256()),
salt_length=hashes.SHA256().digest_size, # 32‑byte salt matches .NET default
),
hashes.SHA256(),
)
return True
except Exception:
return False
if __name__ == "__main__":
message = f"{IDEMPOTENCY_KEY};{BODY}".encode()
if verify_signature(message, SIGNATURE_B64):
print("✔ Signature is VALID (RSA‑PSS/SHA‑256)")
else:
print("✖ Signature is INVALID")
Parameterized Webhooks
You can request that Splitit support enable parameterized webhooks for you, which will enable you to receive certain plan parameters either directly in your webhook's querystring or in its URL. Available parameters include installment plan number, terminal id, terminal api key, and merchant id.
Querystring Parameters
Request that parameters be returned directly in your webhook's querystring. So, for example, if you request to receive installment plan number, terminal id, terminal api key, and merchant id in your querystring, the following webhook structure will be returned:
https://webhook.site/{__webhook number__}?ipn={__INSTALLMENTPLANNUMBER__}&terminalId={__TERMINALID__}&terminalapikey={__TERMINALAPIKEY__}&merchantId={__MERCHANTID__}**
e.g.:
https://webhook.site/c72da947-52c8-4809-91d1-41f0c85f35bb?ipn=004FANS65QE9LU4D9O90&terminalId=39817&terminalapikey=b127c9a4-4c22-4791-97c4-c9f8da665a60&merchantId=91157
URL Parameters
Request that parameters be returned in the URLs of your webhooks. So, for example, if you request to receive installment plan number, terminal id, terminal api key, and merchant id in your URLs, the following webhook structure will be returned:
https://webhook.site/{__webhook number__}/{__INSTALLMENTPLANNUMBER__}/{__TERMINALID__}/{__TERMINALAPIKEY__}/{__MERCHANTID__}/
e.g.:
https://webhook.site/c72da947-53c8-4809-90d1-41f0c85f35bb/54443224184238313683/30817/b628b9a4-4c21-4691-97c4-c9f8da665a60/01657/