Client

SDK Client - main class

Entry point for the SDK exposing functions to interact with the NextEvent API.

Booking Process and Payment Process

  1. Authorize SDK by creating Client instance with credentials
  2. getEvents() List events
  3. getWidget($hash)->generateEmbedCode($eventId) Embed widget for specific event
  4. Get orderId from the widget by postMessage
  5. getBasket($orderId) checkout the basket
  6. authorizeOrder($orderId) start payment process
  7. settlePayment($payment, $customer, $transactionId) settle payment
  8. getTicketDocuments($orderId) get TicketDocuments with download urls

Rebooking

  1. rebookOrder() create rebooking basket
  2. getWidget($hash)->generateEmbedCode(['basket' => $basket]) Embed widget with rebooking basket.
  3. Complete order as in regular booking process

Cancellation

  1. requestCancellation() request cancellation authorization for a given order
  2. settleCancellation() settle cancellation with the authorization data

Entrance check information

  1. getAccessCodes($query) get a collection of AccessCodes
  2. getGate($gateId) get a Gate
  3. getGates($query) get a collection Gates
  4. getDevice($deviceId) get a Device
  5. getDevices($query) get a collection of Devices
  6. getScanLogs($query) get a collection of ScanLogs

Price and category information

  1. getBaseCategories($query) get a collection of BaseCategories
  2. getCategories($query) get a collection of Categories
  3. getBasePrices($query) get a collection of BasePrices
  4. getPrices($query) get a collection of Prices

Persistance

  1. createEvent($event) create a new Event
  2. createBaseCategory($categories) create new BaseCategories and Categories
  3. createBasePrice($prices) create new BasePrices and Prices
  4. updateBaseCategory($categories) update BaseCategories and its Categories
  5. updateBasePrice($prices) update BasePrices and its Prices
package

NextEvent\PHPSDK

Methods

Client constructor.

__construct(array $options) 

Initializes a Client for using the NextEvent Api.

$options[]

  • required:
    • 'appId' string NextEvent App Id
    • 'appUrl' string Url to the App
    • 'authUsername' string Username for authentication with IAM
    • 'authPassword' string Password for authentication with IAM
  • optional:
    • 'env' string Which NextEvent environment to use: 'PROD', 'INT' or 'TEST'
    • 'cache' StoreInterface Cache instance
    • 'logger' LoggerInterface PSR-3 Logger instance
see \NextEvent\PHPSDK\Store\StoreInterface \Psr\Log\LoggerInterface
Throws
\NextEvent\PHPSDK\Exception\InvalidArgumentException

Arguments

$options

array

expects array with appId, appUrl, authUsername, authPassword

Abort payment

abortPayment(\NextEvent\PHPSDK\Model\Payment $payment, string $reason) : boolean

Cancels the payment process previously started with authorizeOrder() using the payment authorization data. This will unfreeze the reservation and restore the basket linked with the payment authorization. To be called when the user aborts the payment process in the shopping application.

Throws
\NextEvent\PHPSDK\Exception\APIResponseException

Arguments

$payment

\NextEvent\PHPSDK\Model\Payment

Payment authorization data

$reason

string

why the payment is aborted

Response

boolean

Authenticate this SDK Client

authenticate() : boolean
Throws
\NextEvent\PHPSDK\Exception\NotAuthenticatedException

in case client couldn't be authenticated

Response

boolean

successfully authenticated

Start payment with authorizing the order

authorizeOrder(integer $orderId, array $options = array()) : \NextEvent\PHPSDK\Model\Payment

Payment in NextEvent is a two-step process starting with authorizing a given order for payment and a later settlement. Authorization freezes the basket to make sure the reserved tickets do not expire while the shopping application processes payment.

Throws
\NextEvent\PHPSDK\Exception\APIResponseException
\NextEvent\PHPSDK\Exception\InvalidModelDataException

if authorization was valid but not the returned data

\NextEvent\PHPSDK\Exception\OrderNotFoundException

Arguments

$orderId

integer

The order ID

$options

array

Hash array with options to send with the authorization request: ttl: Set expiration time of the payment process to N minutes from now

Response

\NextEvent\PHPSDK\Model\Payment

Payment authorization data used for settlement

Creates the base category(ies) provided in the $categories argument.

createBaseCategory(\NextEvent\PHPSDK\Model\BaseCategory|array $categories) : \NextEvent\PHPSDK\Model\Collection

Each base category has to hold at least one base price. The attached base prices will also be created automatically. Make sure you created the base category instances with BaseCategory::spawn().

On success the new base category ids will be stored in the given instance(s).

Throws
\NextEvent\PHPSDK\Exception\InvalidModelDataException

If a base category happens to have no price

Arguments

$categories

\NextEvent\PHPSDK\Model\BaseCategory|array

Single or list of \NextEvent\PHPSDK\Model\BaseCategory

Response

\NextEvent\PHPSDK\Model\Collection

Creates the base price(s) provided in the $prices argument.

createBasePrice(\NextEvent\PHPSDK\Model\BasePrice|array $prices) : \NextEvent\PHPSDK\Model\Collection

Make sure you created the price instances with BasePrice::spawn(). Each provided base price have to be assigned to a base category. Otherwise an exception will be thrown.

On success the new base price ids will be stored in the given instance(s).

Throws
\NextEvent\PHPSDK\Exception\InvalidModelDataException

If a base price happens to have no assigned base category.

Arguments

$prices

\NextEvent\PHPSDK\Model\BasePrice|array

Single or list of NextEvent\PHPSDK\Model\BasePrice

Response

\NextEvent\PHPSDK\Model\Collection

Persists the discount code(s) provided in the $codes argument

createDiscountCode(\NextEvent\PHPSDK\Model\DiscountCode|array $codes) : \NextEvent\PHPSDK\Model\Collection

Make sure you created the discount codes instances with DiscountCode::spawn().

On success the new discount code ids will be stored in the given instance(s).

Throws
\NextEvent\PHPSDK\Exception\InvalidModelDataException

If a discount code happens to have no assigned discount group

\NextEvent\PHPSDK\Exception\APIResponseException

If the server rejects the request with an error response

Arguments

$codes

\NextEvent\PHPSDK\Model\DiscountCode|array

Single or list of NextEvent\PHPSDK\Model\DiscountCode

Response

\NextEvent\PHPSDK\Model\Collection

Persists, i.e. creates, the new given event.

createEvent(\NextEvent\PHPSDK\Model\Event $event) : \NextEvent\PHPSDK\Model\Event

Make sure your created the event with Event::spawn().

On success the new event identifier will be stored in the given instance.

Arguments

Response

\NextEvent\PHPSDK\Model\Event

Delete OrderItem from Basket

deleteBasket(integer $orderId) : boolean
Throws
\NextEvent\PHPSDK\Exception\APIResponseException
\NextEvent\PHPSDK\Exception\OrderNotFoundException

if basket could not be found

Arguments

$orderId

integer

Response

boolean

successfully deleted

Delete OrderItem from Basket

deleteBasketItem(integer $orderId, integer $orderItemId) : boolean
Throws
\NextEvent\PHPSDK\Exception\APIResponseException
\NextEvent\PHPSDK\Exception\OrderNotFoundException

Arguments

$orderId

integer

$orderItemId

integer

Response

boolean

successfully deleted

Delete a discount code

deleteDiscountCode(integer|\NextEvent\PHPSDK\Model\DiscountCode $discountCodeOrId) : boolean
Throws
\NextEvent\PHPSDK\Exception\APIResponseException
\NextEvent\PHPSDK\Exception\EntityNotFoundException

Arguments

$discountCodeOrId

integer|\NextEvent\PHPSDK\Model\DiscountCode

Response

boolean

successfully deleted

Fetches all access codes for the given query.

getAccessCodes(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\AccessCodeCollection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size

    Supported filters are:
  • access_code_id operators: in|!in
  • code operators: =|!=|in|!in
  • category_id operators: =|!=|in|!in
  • price_id operators: =|!=|in|!in
  • created operators: =|!=|>|>=|<|<=
  • changed operators: =|!=|>|>=|<|<=
  • processed operators: =|!=|>|>=|<|<=
  • gate_id operators: =|!=|in|!in
  • device_id operators: =|!=|in|!in
  • state = 'valid|cancelled|external' operators: =|!=|in|!in
  • entry_state = 'in|out|null' operators: =|!=|is|!is|in|!in

Response

\NextEvent\PHPSDK\Model\AccessCodeCollection

Get token for accessing the application api

getApiToken() : \NextEvent\PHPSDK\Model\Token
Throws
\NextEvent\PHPSDK\Exception\APIResponseException

in case fetching the Token failed

Response

\NextEvent\PHPSDK\Model\Token

Getter for the app id.

getAppId() : string

Response

string

Getter for the auth user name.

getAuthUsername() : string

Response

string

Fetches all base categories for the given query.

getBaseCategories(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size

    Supported filters are:
  • base_category_id operators: in|!in
  • event_id operators: in|!in
  • created operators: =|!=|>|>=|<|<=
  • changed operators: =|!=|>|>=|<|<=

Response

\NextEvent\PHPSDK\Model\Collection

Fetches all base prices for the given query.

getBasePrices(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size

    Supported filters are:
  • base_price_id operators: in|!in
  • base_category_id operators: in|!in
  • event_id operators: in|!in
  • created operators: =|!=|>|>=|<|<=
  • changed operators: =|!=|>|>=|<|<=

Response

\NextEvent\PHPSDK\Model\Collection

Fetch Basket by orderId or basketId

getBasket(integer $orderId) : \NextEvent\PHPSDK\Model\Basket
Throws
\NextEvent\PHPSDK\Exception\APIResponseException
\NextEvent\PHPSDK\Exception\BasketEmptyException

Arguments

$orderId

integer

Response

\NextEvent\PHPSDK\Model\Basket

order data

Cache getter

getCache() : \NextEvent\PHPSDK\Store\StoreInterface

Fetches all categories for the given query.

getCategories(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size

    Supported filters are:
  • category_id operators: in|!in
  • base_category_id operators: in|!in
  • event_id operators: in|!in
  • created operators: =|!=|>|>=|<|<=
  • changed operators: =|!=|>|>=|<|<=

Response

\NextEvent\PHPSDK\Model\Collection

Fetches the device for the given device identifier.

getDevice(integer $deviceId) : \NextEvent\PHPSDK\Model\Device

Arguments

$deviceId

integer

Response

\NextEvent\PHPSDK\Model\Device

Fetches all devices for the given query.

getDevices(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size

    Supported filters are:
    • device_id operators: in|!in
    • uuid operators: =|!=|in|!in
    • gate_id operators: =|!=|in|!in
    • created operators: =|!=|>|>=|<|<=
    • changed operators: =|!=|>|>=|<|<=
    • platform operators: =|!=|in|!in
    • version operators: =|!=|in|!in
    • last_login operators: =|!=|is|!is|>|>=|<|<=

Response

\NextEvent\PHPSDK\Model\Collection

Fetches all discount codes for the given query.

getDiscountCodes(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size
  • augment= 1|0 (provides additional properties like state and redeemend count)
  • state = 'inactive|active|removed'
  • search = '[string]'
  • fetch_deleted = '1|0'

    Supported filters are:
  • discount_group_id operators: in|!in

Response

\NextEvent\PHPSDK\Model\Collection

Fetches all discount groups for the given query.

getDiscountGroups(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size

    Supported filters are:
  • fetch_deleted = '1|0'

Response

\NextEvent\PHPSDK\Model\Collection

Fetch single Event by $eventId

getEvent(string $eventId) : \NextEvent\PHPSDK\Model\Event
Throws
\NextEvent\PHPSDK\Exception\APIResponseException

Arguments

$eventId

string

Response

\NextEvent\PHPSDK\Model\Event

Fetch all Events available

getEvents(array|\NextEvent\PHPSDK\Util\Query $query = null) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()
Throws
\NextEvent\PHPSDK\Exception\APIResponseException

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size
  • order = 'asc|desc' orders by event ids

    Supported filters are:
  • event_id operators: in|!in
  • created operators: =|!=|>|>=|<|<=
  • changed operators: =|!=|>|>=|<|<=
  • state = 'draft|active|closed' (default: 'active') operators: =|!=|>|>=|<|<=

Response

\NextEvent\PHPSDK\Model\Collection

Fetches the gate for the given gate identifier.

getGate(integer $gateId) : \NextEvent\PHPSDK\Model\Gate

Arguments

$gateId

integer

Response

\NextEvent\PHPSDK\Model\Gate

Fetches all gates for the given query.

getGates(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size

    Supported filters are:
  • gate_id operators: in|!in
  • hash operators: =|!=|in|!in
  • created operators: =|!=|>|>=|<|<=
  • changed operators: =|!=|>|>=|<|<=
  • mode = 'in|out|both' operators: =|!=|in|!in
  • replaced_gate_id operators: =|!=|in|!in

Response

\NextEvent\PHPSDK\Model\Collection

Get the internal IAMClient instance

getIamClient() : \NextEvent\PHPSDK\Service\IAMClient

Forces refresh payment token

getNewPaymentToken() : \NextEvent\PHPSDK\Model\Token
Throws
\NextEvent\PHPSDK\Exception\NotAuthorizedException
\NextEvent\PHPSDK\Exception\APIResponseException

Response

\NextEvent\PHPSDK\Model\Token

Retrieves a device by the given name and stores it in the cache.

getOrCreateDevice(string $name = null) : void
Throws
\NextEvent\PHPSDK\Exception\DeviceException

If there are multiple devices with the same name.

Arguments

$name

string

The argument is optional. By default the client's appId will be used if omitted.

Get full order data

getOrder(integer $orderId, array $embed = array('tickets', 'document', 'invoice')) : \NextEvent\PHPSDK\Model\Order

use order->invoice->status == 'paid' for checking invoice status

Throws
\NextEvent\PHPSDK\Exception\OrderNotFoundException
\NextEvent\PHPSDK\Exception\APIResponseException

Arguments

$orderId

integer

The order ID

$embed

array

List of associations to embed in the response (any of 'tickets','document','invoice','items', 'user', 'sales_channel')

Response

\NextEvent\PHPSDK\Model\Order

Order model

Fetches (completed) orders using the given query.

getOrders(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size
  • order = 'asc|desc' orders by order ids

    Supported parameters are:
  • state = ['reservation','completed','replaced','cancelled','aborted'] operators: in

Response

\NextEvent\PHPSDK\Model\Collection

Get token for accessing payment service

getPaymentToken() : \NextEvent\PHPSDK\Model\Token
Throws
\NextEvent\PHPSDK\Exception\NotAuthorizedException
\NextEvent\PHPSDK\Exception\APIResponseException

Response

\NextEvent\PHPSDK\Model\Token

Fetches all prices for the given query.

getPrices(array|\NextEvent\PHPSDK\Util\Query $query) : \NextEvent\PHPSDK\Model\Collection
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Supported parameters are:

  • page
  • page_size

    Supported filters are:
  • price_id operators: in|!in
  • category_id operators: in|!in
  • base_price_id operators: in|!in
  • event_id operators: in|!in
  • created operators: =|!=|>|>=|<|<=
  • changed operators: =|!=|>|>=|<|<=

Response

\NextEvent\PHPSDK\Model\Collection

Get the internal RESTClient instance

getRestClient() : \NextEvent\PHPSDK\Rest\Client

Fetches all scan logs for the given query.

getScanLogs(array|\NextEvent\PHPSDK\Util\Query $query) : array
see \NextEvent\PHPSDK\Util\Query::setPage()

and

\NextEvent\PHPSDK\Util\Query::setPageSize()

Arguments

$query

array|\NextEvent\PHPSDK\Util\Query

A query, supported by the API.

Only code is supported for now. Supported parameters are:

  • page
  • page_size

    Supported filters are:
  • scan_log_id operators: in|!in
  • code operators: =|!=|in|!in
  • category_id operators: =|!=|in|!in
  • price_id operators: =|!=|in|!in
  • created operators: =|!=|>|>=|<|<=
  • processed operators: =|!=|>|>=|<|<=
  • gate_id operators: =|!=|in|!in
  • device_id operators: =|!=|in|!in
  • entry_state = 'in|out' operators: =|!=|in|!in
  • connection operators: =|!=|in|!in
  • verification operators: =|!=|in|!in

Response

array

A collection of NextEvent\PHPSDK\Model\ScanLog

Get TicketDocuments from orderId

getTicketDocuments(integer $orderId, integer $waitFor) : array<mixed,\NextEvent\PHPSDK\Model\TicketDocument>

When the order is paid, tickets are generated automatically and can be downloaded.

Attention By default tickets from the same Event are merged into one single document.

Throws
\NextEvent\PHPSDK\Exception\MissingDocumentException

Arguments

$orderId

integer

ID of the order record to fetch tickets for

$waitFor

integer

Number of seconds to wait for tickets to be issued

Response

array<mixed,\NextEvent\PHPSDK\Model\TicketDocument>

Returns a widget object with utility functions for embedding a NextEvent Widget

getWidget(string $hash) : \NextEvent\PHPSDK\Util\Widget
Throws
\NextEvent\PHPSDK\Exception\InvalidArgumentException

Arguments

$hash

string

The hash of the widget to be embedded

Response

\NextEvent\PHPSDK\Util\Widget

Rebook/modify a completed order

rebookOrder(integer $orderId) : \NextEvent\PHPSDK\Model\Basket

Starts the rebooking process for the given order. As a result, a new "rebooking" basket will be created which can be processed like regular orders. When completed, this basket will replace the original order and invalidate the previously issued tickets.

Throws
\NextEvent\PHPSDK\Exception\OrderNotFoundException
\NextEvent\PHPSDK\Exception\APIResponseException

Arguments

$orderId

integer

Response

\NextEvent\PHPSDK\Model\Basket

Rebooking basket model

Request the cancellation of a completed order

requestCancellation(integer $orderId) : \NextEvent\PHPSDK\Model\CancellationRequest

Like payment, canceling orders in NextEvent is a two-step process starting with sending a request for cancellation. This is a pre-check to verify whether the given order is actually eligible for cancellation and returns an authorization object to be used for later settlement.

Throws
\NextEvent\PHPSDK\Exception\OrderNotFoundException
\NextEvent\PHPSDK\Exception\APIResponseException

Arguments

$orderId

integer

Response

\NextEvent\PHPSDK\Model\CancellationRequest

Cancellation authorization used for settlement

Cache setter

setCache(\NextEvent\PHPSDK\Store\StoreInterface $cache) 
Throws
\NextEvent\PHPSDK\Exception\InvalidStoreException

Arguments

Set Logger which will be used for the SDK

setLogger(\Psr\Log\LoggerInterface $logger = null) 

Arguments

$logger

\Psr\Log\LoggerInterface

Complete cancellation of an order

settleCancellation(\NextEvent\PHPSDK\Model\CancellationRequest $request, string $reason = null) : void

DANGER ZONE: This confirms a previously obtained cancellation request and finally cancels the given order in the NextEvent system which will invalidate all tickets and deny access for entrance checks.

Throws
\NextEvent\PHPSDK\Exception\OrderNotFoundException
\NextEvent\PHPSDK\Exception\APIResponseException

Arguments

$request

\NextEvent\PHPSDK\Model\CancellationRequest

Cancellation authorization obtained from requestCancellation()

$reason

string

Optional message describing the reason why this order was cancelled

Settle payment

settlePayment(\NextEvent\PHPSDK\Model\Payment $payment, array $customer, null $transactionId = null) : array

This confirms a previously obtained payment authorization and completes the NextEvent order. The tickets will be finally booked for the supplied customer and will be issued afterwards.

$customer example

"customer": {
 "email": "thomas.muster@example.com",
 "name": "Thomas Muster",
 "company": "Musterfirma",
 "address": {
   "street": "Musterstr. 1",
   "pobox": "",
   "zip": "3001",
   "city": "Bern",
   "country": "CH"
 }
}
Throws
\NextEvent\PHPSDK\Exception\APIResponseException

Arguments

$payment

\NextEvent\PHPSDK\Model\Payment

Payment authorization data

$customer

array

Customer data

$transactionId

null

Response

array

Hash array with payment transaction data

Updates the base category(ies) provided in the $categories array.

updateBaseCategory(\NextEvent\PHPSDK\Model\BaseCategory|array $categories) : void

Arguments

$categories

\NextEvent\PHPSDK\Model\BaseCategory|array

Single or list of \NextEvent\PHPSDK\Model\BaseCategory

Updates the base price(s) provided in the $prices array.

updateBasePrice(\NextEvent\PHPSDK\Model\BasePrice|array $prices) : void

Arguments

$prices

\NextEvent\PHPSDK\Model\BasePrice|array

Single or list of BasePrice

Extend the expiration time of a basket

updateBasketExpiration(integer $orderId, \DateTime|integer $expires) : boolean
Throws
\NextEvent\PHPSDK\Exception\APIResponseException
\NextEvent\PHPSDK\Exception\OrderNotFoundException

if basket could not be found

Arguments

$orderId

integer

$expires

\DateTime|integer

New expiration date/time or number of minutes to extend expiration for

Response

boolean

successfully updated

Constants

Define constants used as key for accessing the cache

PAYMENT_TOKEN_KEY