Webhooks Overview
Webhooks are a key feature of Jupico that allow you to receive real-time notifications about critical events in your system. By setting up webhooks, you can stay informed about the status of onboarding, disputes, and payouts without needing to constantly check for updates manually.
This section will guide you through setting up and configuring webhooks, as well as handling webhook events and payloads.
Onboarding Webhooks
onApplicationInitiated
: Triggered when an application is initiated.onMerchantSubmit
: Triggered when a merchant submits their application.onMerchantActivation
: Triggered when a merchant is activated.
{
"event": "onApplicationInitiated",
"datetime": "2024-02-05T13:56:56.148Z",
"data": {
"onboardingId": "<hash>",
"applicationId": "<hash>",
"subMerchantId": "<hash>",
"applicant": {
"name": "..",
"email": "..",
"mobile": ".."
},
invite: { (optional, if invited then must be included)
inviteId: "<hash>"
"reference": "ref provided by sp"
}
"templates": {
"feesTemplateId: "<hash>"
"onboardingFlowTemplateId": "<hash>"
}
}
}
"onboardingId": "<hash>",
"applicationId": "<hash>",
"subMerchantId": "<hash>",
"applicant": {
"name": "..",
"email": "..",
"mobile": ".."
},
"identity": {
"business": {
"legalName": "..",
"dbaName": "..",
"websiteUrl": "https://..",
"address": {
"streetNum": "123",
"streetName": "main street",
"city": "ny",
"state": "NY",
"postalCode": "10001"
}
}
},
invite: { (optional, if invited then must be included)
inviteId: "<hash>"
"reference": "ref provided by sp"
}
"templates": {
"feesTemplateId: "<hash>"
"onboardingFlowTemplateId": "<hash>"
}
}
}
{
"event": "onMerchantActivation",
"datetime": "2024-02-05T13:57:17.897Z",
"data": {
"onboardingId": "<hash>",
"applicationId": "<hash>",
"subMerchantId": "<hash>",
"applicant": {
"name": "..",
"email": "..",
"mobile": ".."
},
"identity": {
"business": {
"legalName": "..",
"dbaName": "..",
"websiteUrl": "https://..",
"address": {
"streetNum": "123",
"streetName": "main street",
"city": "ny",
"state": "NY",
"postalCode": "10001"
}
}
},
invite: { (optional, if invited then must be included)
inviteId: "<hash>"
"reference": "ref provided by sp"
}
"templates": {
"feesTemplateId: "<hash>"
"onboardingFlowTemplateId": "<hash>"
}
"tokenization": {
"publicKey": "<hash>"
},
}
}
Dispute Webhooks
onDisputeInitiated
: Triggered when a new dispute is created.onDisputeUpdated
: Triggered when a dispute is updated.
{
"event": "onDisputeInitiated",
"datetime": "2024-05-21T13:33:52.727Z",
"data": {
"submerchantId": "jpt-sim-md-1",
"txId": "95aee3b1-b6a6-481c-ba02-f63eab1e1113",
"disputeId": "115710100701",
"disputeDate": "2021-06-21T00:00:00.000Z",
"txAmount": 99.99,
"disputeAmount": 99.99,
"cardBrand": "<cardBrand>",
"ccLast4Digits": "1234"
}
}
{
"event": "onDisputeUpdated",
"datetime": "2024-05-21T13:56:11.531Z",
"data": {
"submerchantId": "jpt-sim-md-1",
"txId": "95aee3b1-b6a6-481c-ba02-f63eab1e1113",
"disputeId": "115710100701",
"disputeDate": "2021-06-06T00:00:00.000Z",
"txAmount": 99.99,
"disputeAmount": 99.99,
"cardBrand": "<cardBrand>",
"ccLast4Digits": "1234"
}
}
Payouts & Bank Account Webhooks
onPayoutInitiated
: Triggered when a new payout is created.onMerchantBankAccountActivation
: Triggered when a merchant's bank account is activated.
{
"event": "onPayoutInitiated",
"datetime": "2024-05-21T13:33:52.727Z",
"data": {
subMerchantId: payout.subMerchantId,
amount: payout.amount,
type: payout.type,
payoutId: payout.payoutId,
transactionType: payout.transactionType,
batchPayoutId: payout.batchPayoutId,
bankAccountRoutingNum: payout.accRoutingNum,
bankAccountLast4Number
bankAccountType: payout.accountType,
}
}
{
"event": "onMerchantBankAccountActivation",
"datetime": "2024-05-21T13:33:52.727Z",
"data": {
subMerchantId: subMerchantId
bankAccountToken: payoutBankAccount.bankAccountToken,
accountRouting: payoutBankAccount.accountRouting,
accountNumber: payoutBankAccount.accountNumber,
accountType: payoutBankAccount.accountType,
nameOnAccount: payoutBankAccount.nameOnAccount,
status: payoutBankAccount.status,
}
}