This API is used to check the status of a Penny pull Intent link using Decentro transaction ID.
Important Note
Please use only Staging Credentials on each API Reference page to test the APIs directly from our Documentation.
Overview
This API allows a platform to fetch the status of a transaction undertaken through the Penny Pull Create Intent API.
Flow
This API is an alternative to the Transaction Status Callback triggered by Decentro to the platform's endpoint. The platform should use this only if a callback hasn't been acknowledged or transaction confirmation hasn't been received.
- The platform consumes this API to get the latest status of an initiated transaction using the Decentro transaction ID received from Penny Pull - Intent API.
- In this API, Decentro relays the transaction status via the transactionStatus field and response keys. The default status will always be 'PENDING' before expiry unless the payer authorizes a payment. After expiry time, the status will change to 'EXPIRED' unless the payer authorizes a payment.
API Endpoints
Below are the API endpoints to be used by the platform basis the environments.
Environment | Endpoint |
---|---|
Staging / Sandbox | <https://in.staging.decentro.tech/v2/payments/penny_pull/fetch/:decentroTxnId/status |
Production | <https://in.decentro.tech/v2/payments/penny_pull/fetch/:decentroTxnId/status |
Simulation Data
Below is the test data that can be used by platforms to fetch the status of a transaction undertaken through the Penny Pull - Create Intent API.
The platform is expected to pass the parameters as-is to get the intended scenario.
Note - Simulation Data
To test Simulation Staging data for Penny Pull - Get Transaction Status API, please use the following API Endpoint: https://in.staging.decentro.tech/v2/payments/penny_pull/fetch/{decentroTxnId}/status
Steps to use this data:
- In the Get Transaction Status API endpoint, pass the decentroTxnId as a path parameter, which was obtained in the response from the Simulation Data of Penny Pull - Create Intent API.
- Trigger the Get Transaction Status API.
- The API response will indicate the success of the API request, the terminal status of the transaction, and provide essential details of the payer such as payerName, payerVpa, payerAccountNumber, and payerIfsc.
Response Parameters
Below are the parameters propagated by Decentro in the response.
Parameters | Description |
---|---|
decentroTxnId | A unique transaction ID from Decentro for checking the transaction status etc. |
status | Status of the API hit. Note that this is not the status of the transaction. |
responseCode | A unique response code mapped with API request status. |
message | Status description of the Penny pull transaction status |
referenceId | The reference id that was passed by Decentro back to the platform in the response |
transactionStatus | The status of the transaction can be one of the values - SUCCESS, FAILURE, PENDING, EXPIRED |
transactionStatusDescription | The Status description of the Penny pull transaction status |
payerName | Payer name passed by Decentro to the platform. |
payerVpa | UPI ID of the payer passed by Decentro to the platform |
payerAccountNumber | Account number of the payer passed by Decentro to the platform. |
payerIfsc | IFSC code of the payer passed by Decentro to the platform. |
verificationType | PENNY_INTENT |
pennyCollectedOn | Penny collection date & time in yyyy-mm-dd HH-mm-ss format |
responseKey | Response key documenting the status of the API hit and various errors as mentioned here |
Response keys
Below are the response keys propagated by Decentro in the response parameter, which covers all the scenarios a platform can encounter.
Please note that the below keys don't always include transaction-related response keys since the transaction status is relayed only after the payer authorizes the payment.
Response key | Scenario |
---|---|
success_transaction_status_successful | UPI Transaction Status is successful |
error_no_transaction_found | This transaction was not found in our system. If there was any penny drop, it would have already been reversed. Please retry the corresponding transaction. |
success_transaction_status_pending | UPI Transaction Status is pending |
success_transaction_status_failure | UPI Transaction Status is failure. |
success_transaction_status_expired | UPI Transaction Status is expired. |
error_invalid_provider | Given transaction does not belong to the original provider. |
error_provider_error | Error occurred while fetching transaction status from provider. |
error_api_access_error | Error occurred while accessing the API. |
error_authentication_request | Error occurred while authenticating the request. |
error_unauthorized_request | Error occurred because request is unauthorized |
error_plan_not_configured | Error occurred because plan is not configured. |
error_plan_not_found | Error occurred because plan is not found. |
error_duplicate_transaction | Duplicate transaction found in the system. |