Add Payment Card to Google Wallet

Add a Netevia payment card to a customer's Google Wallet for contactless mobile payments.

Add Payment Card to Google Wallet

This endpoint enables a customer's Netevia payment card to be provisioned into Google Wallet, making it available for contactless payments via Google Pay. The request requires the card's unique identifier and, depending on the card type or use case, may include additional fields such as a nickname, order reference, or reissue details. On success, the card is linked to Google Wallet and ready for use in transactions.

Endpoint

POST /api/paymentCards/addToGoogleWallet

Authentication

Bearer token required. Obtain via:

POST https://api.banking.netevia.dev/api/auth/v2

Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.

When to use

Use this endpoint when a customer wants to add one of their Netevia payment cards (Physical, Virtual, or Burner) to Google Wallet for mobile contactless payments. This is typically triggered from a card management screen within your partner application after the customer has an active card. All card types supported by Netevia can be provisioned into Google Wallet using this endpoint.

Request Body

The request body accepts one of the following schemas. In all cases, paymentCardId is required as the base field.

Base Request (paymentcardrequest)

FieldTypeRequiredDescription
paymentCardIdstringYesUnique identifier of the payment card to add to Google Wallet

With Nickname (paymentcardnicknamerequest)

Extends base request with:

FieldTypeRequiredDescription
paymentCardIdstringYesUnique identifier of the payment card
nickNamestringNoDisplay name for the card in Google Wallet (max 18 characters)

With Order ID (paymentcardorderrequest)

Extends base request with:

FieldTypeRequiredDescription
paymentCardIdstringYesUnique identifier of the payment card
orderIdstringYesOrder reference ID associated with the card provisioning request

With Period (paymentcardwithperiodrequest)

Extends base request with:

FieldTypeRequiredDescription
paymentCardIdstringYesUnique identifier of the payment card
dateFromstring (date-time)YesStart of the period for card activity scope (ISO 8601)
dateTostring (date-time)YesEnd of the period for card activity scope (ISO 8601)

Reissue Request (reissuepaymentcardrequest)

Extends base request with:

FieldTypeRequiredDescription
paymentCardIdstringYesUnique identifier of the payment card
reasonstring (enum)NoReason for reissue: NeedNewCard, LostOrStolen, Fraud, Damaged, Expired
subProfileIdintegerNoID of the authorized user (subProfile) for business customers
paymentCardNamestringNoCustom name for the reissued card
orderPhysicalPaymentCardobjectNoPhysical card delivery details (see below)

orderPhysicalPaymentCard — delivery details object:

FieldTypeRequiredDescription
deliveryDetails.name.givenNamestringYesCardholder first name
deliveryDetails.name.familyNamestringYesCardholder last name
deliveryDetails.companyNamestringYesCompany name for delivery
deliveryDetails.address.streetAddressstringYesStreet address (must match standard US address format)
deliveryDetails.address.extendedAddressstringNoApartment, suite, or unit number
deliveryDetails.address.postalCodestringYes5-digit US ZIP code
deliveryDetails.address.regionstringYes2-letter US state code
deliveryDetails.address.localitystringYesCity name
deliveryDetails.address.countryCodeAlpha3stringYes3-letter ISO country code (e.g., USA)
courier.methodstring (enum)NoShipping method: USPS_GROUND, USPS_PRIORITY, USPS_EXPRESS, UPS_GROUND, UPS_SECOND_DAY, UPS_NEXT_DAY

Obsolete Reissue Request (obsoletereissuepaymentcardrequest)

Extends base request with:

FieldTypeRequiredDescription
paymentCardIdstringYesUnique identifier of the payment card
expirationDatestring (date-time)YesExpiration date-time for the reissued card (ISO 8601)
activateOnCreatebooleanNoWhether to automatically activate the card upon creation
copyNumberbooleanNoWhether to copy the card number from the original card
copyPinbooleanNoWhether to copy the PIN from the original card
{
  "paymentCardId": "card_a1b2c3d4e5f6",
  "nickName": "My Google Pay Card"
}

Response

200 OK

A successful response confirms that the payment card has been provisioned to Google Wallet. The response body returns a confirmation with masked card details.

FieldTypeDescription
successbooleanIndicates whether the card was successfully added to Google Wallet
messagestringHuman-readable confirmation message
cardIdstringIdentifier of the card that was provisioned
{
  "success": true,
  "message": "Payment card successfully added to Google Wallet.",
  "cardId": "card_a1b2c3d4e5f6"
}

Error Codes

CodeWhen it happens
400Missing required fields (e.g., paymentCardId not provided), validation error on address format, postal code format, or field length constraints
401Token missing, expired, or invalid
403Insufficient permissions — the authenticated user does not have access to the specified card
404Payment card not found for the given paymentCardId
500Internal server error

Common Mistakes

  • Omitting paymentCardId — this field is required in all request variants; the request will fail with 400 if absent
  • Sending a postalCode that is not exactly 5 digits — the schema enforces the pattern ^\d{5}$
  • Sending a region code that is not exactly 2 characters — both minLength and maxLength are 2 for the state code
  • Sending a countryCodeAlpha3 that is not exactly 3 characters — use ISO 3166-1 alpha-3 format (e.g., USA, not US)
  • Using an expired or recently refreshed Bearer token — tokens expire after 10 minutes; refresh via POST /api/auth/refresh before calling this endpoint
  • Providing a nickName longer than 18 characters — the schema enforces maxLength of 18

Related Endpoints

  • POST /api/paymentCards/addToAppleWallet — Add a payment card to Apple Wallet
  • GET /api/paymentCards — List all payment cards for the authenticated customer
  • POST /api/paymentCards — Create a new payment card (Virtual, Physical, or Burner)
  • PUT /api/paymentCards/{paymentCardId} — Update payment card details
  • POST /api/auth/v2 — Obtain a Bearer token for authentication

Example

curl -X POST https://api.banking.netevia.dev/api/paymentCards/addToGoogleWallet \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "paymentCardId": "card_a1b2c3d4e5f6",
    "nickName": "My Google Pay Card"
  }'
Body Params
string
required
length ≥ 1
Headers
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Response
200

Success

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here!