GspUpiCollectionsEntry

Represents an individual UPI transaction.

An example JSON object is:


{
  "entryId": 12,
  "payment": {
    "settlementLineOfBusinessId": "",
    "merchantId": "BD19CONUPI",
    "bankId": "G01",
    "processorTransactionId": "MOBC9126123456",
    "googleTransactionId": "151353143:253213525626262:433463763432523524234",
    "grossAmount": {
      "amountMicros": 1003450000,
      "currencyCode": "INR"
    },
    "transactionDate": {
      "epochMillis": 1231300000
    },
    "settlementDate": {
      "epochMillis": 1231500000
    },
    "paymentMethod": "upi",
    "invoiceId": "GPB.426.264554.43434",
    "buyerName": "John Doe",
    "buyerAddress": "24645234262346243",
    "buyerAccount": "9876543210"
  }
}
JSON representation
{
  "entryId": string,

  // Union field transaction_type can be only one of the following:
  "payment": {
    object (EntryDetails)
  },
  "refund": {
    object (EntryDetails)
  }
  // End of list of possible types for union field transaction_type.
}
Fields
entryId

string (Int64Value format)

REQUIRED: A non-zero and non-negative number within the settlement file that uniquely identifies a settlement line.

Union field transaction_type. REQUIRED: The type of transaction this entry is about. transaction_type can be only one of the following:
payment

object (EntryDetails)

This entry is for a payment.

refund

object (EntryDetails)

This entry is for a refund.

EntryDetails

JSON representation
{
  "merchantId": string,
  "bankId": string,
  "processorTransactionId": string,
  "googleTransactionId": string,
  "mercRefundId": string,
  "grossAmount": {
    object (Amount)
  },
  "originalTransactionGrossAmount": {
    object (Amount)
  },
  "transactionDate": {
    object (Timestamp)
  },
  "settlementDate": {
    object (Timestamp)
  },
  "paymentMethod": string,
  "settlementLineOfBusinessId": string,
  "paymentCategory": enum (PaymentCategory),
  "transactionProcessType": enum (TransactionProcessType),
  "buyerName": string,
  "buyerAddress": string,
  "buyerAccount": string,
  "invoiceId": string,
  "userIpAddress": string,
  "entrySpecificDetails": {
    object (EntrySpecificDetails)
  }
}
Fields
merchantId

string

REQUIRED: Merchant ID.

bankId

string

REQUIRED: Bank ID.

processorTransactionId

string

REQUIRED: The processor's ID for this entry. For instance, if this entry is a payment, this is the processor's ID for the payment. If the entry is a refund, this is the processor's ID for the refund.

googleTransactionId

string

REQUIRED: Google's ID for this transaction. This will be the same for all entries related to a single transaction. For instance, a transaction with both a payment and a refund will have the same Google transaction ID for both entries.

mercRefundId

string

CONDITIONAL: Google's ID for this refund.

grossAmount

object (Amount)

REQUIRED: Gross Amount.

originalTransactionGrossAmount

object (Amount)

TO_BE_REQUIRED: Gross Amount of the original transaction..

transactionDate

object (Timestamp)

REQUIRED: Date of the transaction.

settlementDate

object (Timestamp)

REQUIRED: Settlement Date.

paymentMethod

string

REQUIRED: Payment Method.

settlementLineOfBusinessId

string

OPTIONAL: Settlement line of business ID.

paymentCategory

enum (PaymentCategory)

TO_BE_REQUIRED: Payment Category. Google does not have this data yet.

transactionProcessType

enum (TransactionProcessType)

OPTIONAL: Transaction process type.

buyerName

string

REQUIRED: Buyer name. Required for Domestic payments.

buyerAddress

string

REQUIRED: A stable ID for the buyer.

buyerAccount

string

REQUIRED Remitter Account Number.

invoiceId

string

REQUIRED: An ID that the buyer would recognize as identifying the thing that the buyer purchased.

userIpAddress

string

TO_BE_REQUIRED: The IP address of the user's device that initiated the transaction.

entrySpecificDetails

object (EntrySpecificDetails)

OPTIONAL: Details specific to the transaction type.

EntrySpecificDetails

JSON representation
{
  "payment": {
    object (Payment)
  }
}
Fields
payment

object (Payment)

Payment

JSON representation
{
  "payeeVpa": string,
  "payerVpa": string
}
Fields
payeeVpa

string

TO_BE_REQUIRED: Payee VPA (e.g. googleyoutube@axisbank)

payerVpa

string

OPTIONAL: Payer VPA (e.g. sharukhan@okaxis)