---
page_title: Handling orderStatus respone
product: Merchant Container
page_source: https://juspay.io/in/docs/merchant-container/docs/merchants-inhouse-wallet/handling-orderstatus-respone
llms_txt: https://juspay.io/in/docs/llms.txt
product_llms_txt: https://juspay.io/in/docs/merchant-container/llms.txt
---


# Handling the payment response




### **Step 4:**  Update backend to handle changes in Order Status API and Webhooks




#### **Case 1 :** **Whole payment [** User completes the transaction using only in-house wallet]



* You will receive a single transaction in the order status response.
* Proceed to debit the amount from the customer's wallet using the transaction details:
  
  * **Payment Method:**  Your custom wallet’s name
  * **Payment Method Type:** `MERCHANT_CONTAINER`


#### **Case 2:** **Split payment [** User completes the transaction using in-house wallet + another payment method]



* In split payments, two transaction blocks will be included in the order status responses (via **Order Status API**  and **Webhooks** ).
* The total order amount will equal the sum of both transaction amounts:
  
  1. **First Transaction:**  Represents the amount paid by the customer online.
     
     * Status: `CHARGED`
  2. **Second Transaction:**  Represents the amount to be debited from the wallet.
     
     * Status: `TO_BE_CHARGED`
* Debit the wallet using the details from the second transaction only when the first transaction status is `CHARGED`:
  
  * **Payment Method:**  Your wallet’s name
  * **Payment Method Type:** `MERCHANT_CONTAINER`


| Primary payment method status[UPI, CARD, WALLET, NB, COD] | Secondary payment method status [In-House Wallet]] | Overall Order Status |
|---|---|---|
| TERMINAL SUCCESS STATE  (CHARGED) | MERCHANT CONTAINER (TO_BE_CHARGED) | PARTIALLY CHARGED |
| For Cash On Delivery (COD_INITIATED) | MERCHANT CONTAINER (TO_BE_CHARGED) | TO_BE_CHARGED |
| TERMINAL FAILURE STATE   (AUTHENTICATION_FAILED, AUTHORIZATION_FAILED, JUSPAY_DECLINED, NOT_FOUND) | MERCHANT CONTAINER (TO_BE_CHARGED) | FAILURE |
| PENDING STATE  (NEW, STARTED, PENDING_VBV, VBV_SUCCESSFUL, AUTHORIZING) | MERCHANT CONTAINER (TO_BE_CHARGED) | PENDING |
| order amount = merchant container amount | MERCHANT CONTAINER (TO_BE_CHARGED) | TO_BE_CHARGED |



#### **Merchant handling:** 



1. **SUCCESS**  - Debit merchant wallet amount.
2. **PENDING**  - Wait for a terminal status.
3. **FAILURE**  - No action on merchant wallet.


### Step 1.1. Response Changes


1. [Webhook response](https://docs.juspay.in/merchant-container/docs/merchant-container/webhook-response)
2. [Order Status response](https://docs.juspay.in/merchant-container/docs/merchant-container/order-status-response)



> **Note**
> * For transactions done through any other payment method you will get the transaction status as ‘CHARGED’
> * All other cases, where debit is pending or failed in other Instrument, the order status will be PENDING_VBV or AUTHENTICATION_FAILED / AUTHORIZATION_FAILED. Merchant to handle transactions similar to a normal transaction.
> * In case the amount from in-house Wallet could not be deducted by the merchant, he will cancel the order in his database and raise a refund request for the non in-house wallet transaction.
> * To refund transactions you should use [Txn ID based refund](https://docs.juspay.in/api-reference/docs/express-checkout/transaction-id-based-and-instant-refund)



---

## See Also

- [Enable Merchant's In-House Wallet](https://juspay.io/in/docs/merchant-container/docs/merchants-inhouse-wallet/enable-merchants-inhouse-wallet)
- [Testing & Validation](https://juspay.io/in/docs/merchant-container/docs/merchants-inhouse-wallet/testing--validation)
