After the payment is initiated, you can use this API to get the transaction details of an order.
Request
To get the transaction details, make a POST request to the following endpoint:
Prod
POST https://nbupayments.googleapis.com/v1/merchantTransactions:get
Request Body
{
// Merchant identifier, googleMerchantId should be set. This ID is globally
// unique across all Google Pay merchants.
"merchantInfo": {
"googleMerchantId": "ABCDE12345"
},
// Merchant transaction ID for which payment details need to be fetched.
"transactionIdentifier": {
"merchantTransactionId": "someTransactionId"
}
}
Request Body parameters
Merchant Info
The following data parameter for the merchantInfo
object must be passed in the
API request:
Parameters | Type of value | Description | Required/Optional |
---|---|---|---|
googleMerchantId |
String | Google assigned merchant ID. Generated during onboarding. | Required |
Transaction Id
You must pass the unique transaction ID that you generated while creating the
payment/order in the merchantTransactionId
key. It is a required field.
Response
The response contains "UPI" as the value for paymentMode
object and one of the
following possible values for the transactionStatus
object.
- SUCCESS
- FAILURE: Transaction has failed
- IN_PROGRESS: Transaction is in progress
- PAYMENT_NOT_INITIATED: Payment hasn't been initiated by the user
- DECLINED: Payment has been declined by the user
- EXPIRED: Payment request expired
Successful response
If successful, the GET request returns a 200 OK
HTTP status code, including
the following response:
{
// Merchant transaction ID for which payment details are fetched.
"transactionId": "someTransactionId",
// Google’s transaction ID.
"googleTransactionId": "someGoogleTransactionId",
// Mode of payment that the user used.
"paymentMode": "UPI",
// Status of the transaction.
"transactionStatus": {
"status": "SUCCESS"
},
// Transaction details for UPI transaction.
"upiTransactionDetails": {
"upiRrn": "abcdef"
},
// Amount paid by the user (only present if the transactionStatus is SUCCESS)
"amountPaid": {
"currencyCode": "INR",
"units": "100",
"nanos": 750000000
},
// Time at which transaction was last updated in RFC 3339 format
"lastUpdatedTime": "2022-01-31T11:00:44.735Z",
// Payer account type: UPI_CREDIT, UPI_DEBIT (only populated for allowlisted merchants)
"payerAccountType": "UPI_DEBIT",
// Payee VPA of the transaction (only populated for allowlisted merchants)
"payeeVpa": "your-merchant-vpa@acquiringbank"
}
Failure response
The API returns the following response in case of a failure:
{
// Merchant transaction ID for which payment details are fetched.
"transactionId": "someTransactionId",
// Google’s transaction ID.
"googleTransactionId": "someGoogleTransactionId",
// Mode of payment that the user used.
"paymentMode": "UPI",
// Status of the transaction.
"transactionStatus": {
"status": "FAILURE",
// (String) failure error code describing the reason behind the failure
"failureErrorCode": "BENEFICIARY_VPA_RESTRICTED"
},
// Transaction details for UPI transactions.
"upiTransactionDetails": {
"upiRrn": "abcdef"
},
// Time at which transaction was last updated in RFC 3339 format
"lastUpdatedTime": "2022-01-31T11:00:44.735Z",
// Payer account type: UPI_CREDIT, UPI_DEBIT (only populated for allowlisted merchants)
"payerAccountType": "UPI_DEBIT",
// Payee VPA of the transaction (only populated for allowlisted merchants)
"payeeVpa": "your-merchant-vpa@acquiringbank"
}
In case of a malformed request, you will receive the following response with an appropriate error message and error code:
{
"error": {
"code": 400,
"status": "INVALID_ARGUMENT",
"message": "MerchantInfo not present"
}
}
Malformed request error codes
Code | Title | Description |
---|---|---|
403 | PERMISSION_DENIED | The merchant is not authorized. |
400 | INVALID_ARGUMENT | Request contains an invalid argument. |
404 | NOT_FOUND | Request contains invalid transaction ID. |