Order Fulfillment Sync API
Overview:
The FulfilmentSync API is designed to provide merchants with an efficient way to inform Juspay whether an order was successfully fulfilled or not, after Juspay confirms a payment request. This API reduces manual intervention and simplifies the fulfilment process by allowing you to automatically trigger actions (like refunds or invoices) or notify Juspay with no further action required. This API also offers benefits for proactive monitoring of fulfilment performance.
Consists of two parts:
Username: API Key obtained from Juspay dashboard
Password: Empty string
Example:- Basic MUQ2QUxxxxxxxxxxxxU5QTIxQzNFNTQwNkFDMEZCOg==
application/x-www-form-urlencoded
<your merchant_id>
We recommend passing the customer_id as the x-routing-id. If the customer is checking out as a guest, you can pass an alternative ID that helps track the payment session lifecycle. For example, this could be an Order ID or Cart ID.
This ID is associated with the customer. It plays a key role in ensuring consistency and maintaining connections across different systems. If you fail to pass the same x-routing-id for the same customer in all related API calls, it could lead to issues with API functionality. Therefore, it’s crucial that you use the same x-routing-id for all requests tied to the same customer.
Example:- customer_1122
Order ID for which you want to notify order fulfilment to Juspay.
Example:- JP1636474794
The FulfilmentSync API accepts 3 key parameters:
Fulfilment Status:
It informs Juspay whether the order was fulfilled or not. Accepted values are “SUCCESS” or “FAILURE”Fulfilment Identifier (Optional):
A merchant-generated identifier (e.g., deliveryId, orderId, PNR) when an order is fulfilled, providing a clear reference to the fulfilment event.Fulfilment Command (Enum):
Specifies the command sent from the merchant to Juspay. Accepted enums specified in the request params below.
Pls note that the commands are not limited to the above mentioned enums. We are optimizing this API and updating it to support more use cases hence the number of enums can change.
SUCCESS or FAILURE based on whether you were able to fulfil the order
Example - SUCCESS / FAILURE
Fulfilment commands are consisting of the following enums:
INITIATE_CREDIT: Delivery update for Credit Systems and Consumer Finance Partners (Contact your Juspay POC for more details on the usage of this field)INITIATE_REFUND: Initiating refunds (Contact your Juspay POC for more details on the usage of this field)BLOCK_IMEI: Block IMEI (Used to send fulfilled device IMEI to Pinelabs)UNBLOCK_IMEI: Unblock IMEI (Used to send fulfilled device IMEI to Pinelabs)POST_TXN_SPLIT_SETTLEMENT: Settle amounts between different vendors after a successful transaction (Contact your Juspay POC for more details on the usage of this field)NO_ACTION: Store the fulfillment data and pass to the relevant PA/PG if requiredINVOICE: Share invoice to LSP (Contact your Juspay POC for more details on the usage of this field)
This is the time at which the order was fulfilled by you
Example - 2024-07-08T16:30:33
A unique/repeat merchant-generated identifier (e.g., deliveryId, orderId, PNR) when an order is fulfilled, providing a clear reference to the fulfilment event
Fulfilment related information such as product/service information or any other details which may be used for debugging or recon activities
order_id for which fulfillment is raised
Please note that status of fulfillment.
`SUCCESS` is a terminal status for all fulfillment commands except "NO_ACTION."
The merchant ID against which this fulfilment was raised
Details of each command associated with the order
Value will be ERROR
No txn Found - in case fulfilment is raised against a transaction not created with Juspay
Error message usually thrown in case no successful transaction/no transaction found - No successfull txn found for given order_id
Object containing more details of the error encountered
Have questions?
- Need help? Contact support
- LLM? Read llms.txt

