Documentation menu
POST/v1/customers/google-play/synchronize

Synchronize a Google Play purchase

Verifies a Google Play purchase token, stores the purchase, and returns the current entitlements.

Request body

packageNameRequired
string

The Android package name registered in Purpl.

purchaseTokenRequired
string

The purchase token returned by Google Play.

productKindRequired
subscription | one_time_product

The Google Play product kind.

productIdentifierOptional
string | null

The optional product identifier used to narrow one-time purchase lookup.

applicationAccountIdentifierOptional
string | null

An optional stable account identifier from the application.

Responses

200The synchronized customer's current entitlements.
customerIdentifierRequired
string | null · uuid

The Purpl customer identifier, when a customer was resolved.

entitlementsRequired
CustomerEntitlement[]
400The request body, parameter, or verified store payload is invalid.
errorRequired
string

A stable machine-readable error code.

404The application, store configuration, customer, or paywall was not found.
errorRequired
string

A stable machine-readable error code.

409The customer identity conflicts with an existing verified identity.
errorRequired
string

A stable machine-readable error code.

Request example

cURL
curl 'https://api.purpl.sh/v1/customers/google-play/synchronize' \
  --header 'Content-Type: application/json' \
  --data '{
    "packageName": "com.example.app",
    "purchaseToken": "<purchase-token>",
    "productKind": "subscription",
    "productIdentifier": "plus.monthly",
    "applicationAccountIdentifier": "user-123"
  }'