Infinia API
  1. Webhook
Infinia API
  • Infinia E-commerce API
    • Introduction
    • API overview
    • Request and Response parameters
    • Encryption and Decryption
    • Account Binding
      • Account Binding
      • Account Binding Status Query
    • Trade Details
      • Trade details upload
      • Trade Details Upload Status Query
    • Query
      • Platform Account Balance Query
      • Seller's Available Revenue Share Query
    • Revenue Sharing
      • Revenue Sharing
      • Revenue Sharing Status Query
    • Webhook
      • Seller status notification
    • Appendix
      • System Code
      • Product types
      • CipherRsaUtil.java
      • Templates: Trade_details.csv
      • Templates: Trade_details_error_file(.csv)
      • Log
    • Schemas
      • Schemas
        • ErrorBody
        • AccountBindingRequestData
        • AccountBindingResponseData
        • AccountBindingQueryRequestData
        • AccountBindingQueryResponseData
        • TradeDetailsUploadStatusRequestData
        • TradeDetailsUploadStatusResponseData
        • AccountBalanceQueryRequestData
        • AccountBalanceQueryResponseData
        • AvailableRevenueQueryRequestData
        • AvailableRevenueQueryResponseData
        • RevenueSharingRequestData
        • RevenueSharingResponseData
        • RevenueSharingStatusQueryRequestData
        • RevenueSharingStatusQueryResponseData
  1. Webhook

Seller status notification


When a seller’s status changes (e.g., frozen / resumed), Infinia pushes a notification to the merchant-provided callback URL. The notification uses POST + JSON, and the payload is encrypted (payload). The merchant must decrypt it with the merchant’s private key (same logic as on the request side).

1. Endpoint & IO#

Callback URL: Provided by the merchant
Method: POST
Content-Type: application/json; charset=UTF-8
Response Contract:
On success, return the plain text SUCCESS (uppercase, no extra whitespace).
If the response is not SUCCESS or a network error occurs, the platform retries per the policy below.
Security note: The payload in the Webhook body is the Base64 of RSA-encrypted business JSON. The platform encrypts with the merchant public key, and the merchant decrypts with the merchant private key (same logic as “server uses client public key to encrypt; client uses private key to decrypt”).

2. Retry Policy#

If SUCCESS is not returned by the merchant endpoint, the platform retries (up to 5 times) at:
Immediately upon receiving the callback response
5 minutes later
15 minutes later
30 minutes later
60 minutes later
We recommend implementing idempotency using requestNo so duplicate deliveries do not cause duplicate processing.

3. Business JSON (After Decryption)#

3.1 Fields#

FieldTypeRequiredDescriptionExample
requestNostringyesUnique request/event ID (idempotency & trace)7042bac2-491b-41f8-b091-5199a20785c2
sellerIdstringyesSeller ID4347874
statusstring (enum)yesAccount statusFROZEN
status values:
ValueMeaning
ACTIVENormal
FROZENFrozen

3.2 Example (JSON)#

{'version":"1.0""appId":"infinia"dataType":"JSON""requestData""K2WZZ91WguhMOoc4e32aMIkrrw1+Z20StzMXC4+VkjGEW3779LfwntEr5nwrupouxytxv0xJ0zKNt70lRbVxajnr3hUDk/dSI/FCSN43WjEGtSglRe9mfX/5izcleedXWKjGEIZh9gA172a+Wy8LEszmMcM1I5o11ABmm9S75vpV6FvTduFUKPU6fxd8D0A/s+aDfKFUmoPiVv/IulIZxkxyNVDea5r8jzxUu1/l0rHZfom3jdKLGnHstifpn3rxqwNCsH9F7I8Ss4uh002kXnz1/SvJzbfYyTswZPKi+dmzS6i+LicPvEzaU+KclyutG5pgwei0cLkrcoYhiTjImplb39YD/wHwdIYvWeJGnKJjecfBxlyJusbGuXimXlRe8TaRsOmp03L2VVa6u9HP7I5F1MA9wvudKyTYG8k0XsqGxJay8cw/g5IMac906VfyoGQoanbqmORYwVuVsvuwHRjoF3hqy1zov00/JsxgCAdQeeTCNuDiX8if9cnL416rdFzXWRSXLX1TLvBnfXFTZwLcIGzItDnmOLgAeapcf7i6nVfgeqPJRiApldkbIOCNGgDxmfc1ThBcYsSuofnlmAKU0AoJGiP3VFitpv0ohivbtGtdnu5Gk+gV9kE8j8LWOwrPtyENBLa8Mf8zB75Ra81maS/CvSjAr4bKC2f5XBvjKo0pghsLk4dI4X3P9kYzJB/oLvEDhMz0SL3e2hV09k5puj+Dg68is60IVVyPG3SnmAE1Mg+ahPCmNMgOxZgTZG1QuA+7c2Mg6gx7g90Kzbz5+YaDMgk0q7pgE3JWOPXPJAuDbF2/WJx3AD15yh1IVE06A3e/Y3KjAFHZNMj99NFW2CR+2E0KNAk01JU33R5WdEfmndNo20kIxmmm/wTKDrewUghc1u68Z1l87a/YWYMFId0pcWxPnrcw8y5/yd/pM+1+9y40S0N0+0Idu2UrgC8qBo4H06CeEFETPJDsa5JyGAZ/Mvy6atpCA0Md6Fm5hKDwoTxs47L56M0VZ72B64ZHfdLhDX9CRMIN64D2VACq6LYR/AYbbbRjdELIRx4YWYC/ZZWgBSu4b+R8X3qzKAcz008RK3MBnz95xwT2u+1vlR9pR/pOHsf3jvzwCR84xkk/83ynucUaCilNgOiMkhcozjv3d0x4ie00WEAWXEWFTE0SJ9iF/Eyfo4YHHNCSIXMSoAPJmdNU480iNc/ZnCz/z0V+X3ygOmalAdNBTYveT1imwItuZwreJ/YjxCfFc3mLx0mJMkeWB4A3aTXDKOSYP4l00PBhELCTkg6uruIdMl6ONjbRcJG5ZEvKhYrLoJYSpk0QicGYHWWOCCEw+204GE0eD6UnAx+P5Pg==":"C38oSmZ7AkxDHmWBq3IgdfUORL4rGmp'signature'.HHlTq1XcjEuho81Cp/zlY+tXba2sGAVKtS82Yd7jCKgGWHM/kU6xfMa4g5nrBEn4cEHRt/kdP7ABICahGbkuqMUnWb2vp03KDdCAKfMSOTIsrmNVPHTmD08VU7IKijSFhrsI5780WGvflSRTNkoi0wgrYzFH6quaUnW6A0eBstkztke3zaP9fmWMu5sv2eDu4gMA496B5GLc4lq6jRrGPPPIn9p9XHJw06w0BT+8RxUa44t4wded0+pJU7qGnm20TlMav5PXiZcugteKP1VkhVw7Ja0u/9hNFWVSXD/VKHFUE/yOYB08Vy1bPLsjSRl3IM9z5MTcvkgsr6mgU4jTNhi+EjKZyiUU0g5WBUREt8t9gwwfXEhILfjnLIWTEIqVOalc8tSL+nd3k2r/wIrEdM6645oFib7u0hma4U3EzuTXYqqfpbjjIVNHddMp3pCutbe3+k/DYF73lT1NrHfk04jTcLv1xca+bRKxfDhD34dHGKjGtae8v0/2CASs+Nbii2g60H40A1KaU48i0B2YrTLDAWMSlntmFiFUV3CIPOOHLGOYAkOcmrBu896zmIgd3DCZ89pM/4SkkZ2CT3VPhDIZAkSHRz4MmO6fPRuGOXSyITInWGK7bZF11kMXmppXD+qsph+Mc="}
{
  "requestNo": "7042bac2-491b-41f8-b091-5199a20785c2",
  "sellerId": "4347874",
  "status": "FROZEN"
}

4. Consumer Response#

Success — return plain text SUCCESS:
Failure/Exception — any response other than SUCCESS (or a timeout) is treated as a failure; the platform retries per §3.
Modified at 2025-09-09 10:43:17
Previous
Revenue Sharing Status Query
Next
System Code
Built with