PaymentInfo

Payment information of the user.

Direction of flow and PCI scope:

  • creditCardLastFourDigits and paymentMethod may flow in both directions (e.g., returned in FinalizeOrderResponse.payment_info or passed in Config.user_info.payment_info to indicate a saved card on file).
  • creditCardCvv, creditCardNumber, creditCardExpirationMonth, creditCardExpirationYear, and creditCardPostalCode are outbound-only from the Food Ordering Service to the client POS integration in SubmitOrderRequest.payment_info (populated deterministically from DTMF keypad callbacks without routing through the LLM). Clients must never populate these fields in FinalizeOrderResponse.payment_info, Config.user_info.payment_info, or OrderPayment.payment_info.
JSON representation
{
  "creditCardLastFourDigits": string,
  "creditCardCvv": string,
  "paymentMethod": enum (PaymentMethod),
  "creditCardNumber": string,
  "creditCardExpirationMonth": integer,
  "creditCardExpirationYear": integer,
  "creditCardPostalCode": string
}
Fields
creditCardLastFourDigits

string

Optional. The last four digits of the credit card. This is used to verify the credit card number at the payment stage.

creditCardCvv

string

Optional. CVV of the credit card. Outbound-only in SubmitOrderRequest.payment_info; must never be populated in FinalizeOrderResponse, UserInfo, or OrderPayment.

paymentMethod

enum (PaymentMethod)

Optional. The type of payment method used.

creditCardNumber

string

Optional. The credit card number (digits only, no spaces or separators; 12 to 19 digits per ISO/IEC 7812) when paying with a new credit card. Outbound-only in SubmitOrderRequest.payment_info; must never be populated in FinalizeOrderResponse, UserInfo, or OrderPayment.

creditCardExpirationMonth

integer

Optional. The expiration month of the credit card (1 through 12) when paying with a new credit card. Outbound-only in SubmitOrderRequest.payment_info; must never be populated in FinalizeOrderResponse, UserInfo, or OrderPayment.

creditCardExpirationYear

integer

Optional. The four-digit expiration year of the credit card (e.g. 2028) when paying with a new credit card. Outbound-only in SubmitOrderRequest.payment_info; must never be populated in FinalizeOrderResponse, UserInfo, or OrderPayment.

creditCardPostalCode

string

Optional. The billing postal/ZIP code of the credit card (e.g. "40299" or "M5V 3L9") when paying with a new credit card. Outbound-only in SubmitOrderRequest.payment_info; must never be populated in FinalizeOrderResponse, UserInfo, or OrderPayment.

PaymentMethod

The type of payment method.

Enums
PAYMENT_METHOD_UNSPECIFIED Unspecified payment method.
PAYMENT_METHOD_CREDIT_CARD Credit card.
PAYMENT_METHOD_CASH Cash.