Worldpay Tokens API — Worldpay tokens and Network tokens (NPTs).
Worldpay tokens
# Create
{:ok, token} = Worldpay.Tokens.create(%{
"paymentInstrument" => %{"type" => "card/front", "cardNumber" => "4444333322221111", ...},
"merchant" => %{"entity" => "default"}
}, config)
token_href = get_in(token, ["tokenPaymentInstrument", "href"])Network tokens (NPTs — Visa / Mastercard)
{:ok, npt} = Worldpay.Tokens.create_network_token(%{...}, config)
# Provision cryptogram per CIT
{:ok, cg} = Worldpay.Tokens.provision_cryptogram(npt_id, config)
Summary
Functions
Create a Worldpay token.
Provision a Visa or Mastercard network token (NPT).
Delete a Worldpay token.
Delete a network token.
Detokenize — retrieve the raw card number from a token.
Retrieve a Worldpay token by ID.
Query a network token by ID.
Provision a cryptogram for a network token.
Update a Worldpay token.
Functions
@spec create(map(), Worldpay.Config.t()) :: {:ok, map()} | {:error, Worldpay.Error.t()}
Create a Worldpay token.
@spec create_network_token(map(), Worldpay.Config.t()) :: {:ok, map()} | {:error, Worldpay.Error.t()}
Provision a Visa or Mastercard network token (NPT).
@spec delete(String.t(), Worldpay.Config.t()) :: {:ok, nil} | {:error, Worldpay.Error.t()}
Delete a Worldpay token.
@spec delete_network_token(String.t(), Worldpay.Config.t()) :: {:ok, nil} | {:error, Worldpay.Error.t()}
Delete a network token.
@spec detokenize(String.t(), Worldpay.Config.t()) :: {:ok, map()} | {:error, Worldpay.Error.t()}
Detokenize — retrieve the raw card number from a token.
Warning: Only available to PCI-accredited merchants. Increases PCI scope.
@spec get(String.t(), Worldpay.Config.t()) :: {:ok, map()} | {:error, Worldpay.Error.t()}
Retrieve a Worldpay token by ID.
@spec get_network_token(String.t(), Worldpay.Config.t()) :: {:ok, map()} | {:error, Worldpay.Error.t()}
Query a network token by ID.
@spec provision_cryptogram(String.t(), Worldpay.Config.t()) :: {:ok, map()} | {:error, Worldpay.Error.t()}
Provision a cryptogram for a network token.
Required for every Customer Initiated Transaction using a network token, unless Worldpay auto-provisions it (Payments API orchestrated flow only).
@spec update(String.t(), map(), Worldpay.Config.t()) :: {:ok, map()} | {:error, Worldpay.Error.t()}
Update a Worldpay token.