acknowledge purchase

This block is part of the android group and was last modified in core v15.0.0.

acknowledge purchase v15.0.0

Tells Play you have granted what the user bought. Not optional: Google revokes and refunds any purchase left unacknowledged for three days, so a flow that verifies a purchase and stops here gives the money back : days later, quietly.

In pins 6 + flow
  • flow
    flow
  • connection required
    androidconnection
  • package name required
    value

    Android app package

  • product id required
    value

    The purchased product / subscription id.

  • token required
    value

    The purchase token to acknowledge.

  • is subscription
    condition

    On for a subscription, off for a one-time product : they are different endpoints.

  • developer payload
    value

    Optional string stored alongside the purchase.

Out pins 4 + flow
  • flow
    flow
  • success
    condition

    True when acknowledged : including when it already was.

  • already acknowledged
    condition

    True when Play reported it was acknowledged before. Treated as success on purpose: retries and redelivered notifications must not look like the purchase went bad.

  • response
    object
  • error
    value
play
google play
acknowledge
ack
iap
in app purchase
billing
subscription

Google refunds any purchase that is not acknowledged within three days, so this block is not optional bookkeeping: it is the step that keeps the payment. Verify first, unlock the entitlement, then call acknowledge purchase on the true side of the branch. The already_acknowledged pin means a retry is safe, which matters because this chain will be re-run by a client that lost its connection halfway.

Studio canvas example for the acknowledge purchase block: acknowledging a purchase, or losing the money.

Version history

Introduced in v15.0.0.

Service documentation

External API reference This block wraps a third-party service. Click here for the service's own documentation of the underlying endpoint.
Back to android Return to the main group to view all sub-groups Back to android Return to the group to view all blocks within this group