Worldpay.Tokens (Worldpay v1.0.0)

Copy Markdown View Source

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

create(body, config)

@spec create(map(), Worldpay.Config.t()) ::
  {:ok, map()} | {:error, Worldpay.Error.t()}

Create a Worldpay token.

create_network_token(body, config)

@spec create_network_token(map(), Worldpay.Config.t()) ::
  {:ok, map()} | {:error, Worldpay.Error.t()}

Provision a Visa or Mastercard network token (NPT).

delete(token_id, config)

@spec delete(String.t(), Worldpay.Config.t()) ::
  {:ok, nil} | {:error, Worldpay.Error.t()}

Delete a Worldpay token.

delete_network_token(npt_id, config)

@spec delete_network_token(String.t(), Worldpay.Config.t()) ::
  {:ok, nil} | {:error, Worldpay.Error.t()}

Delete a network token.

detokenize(token_id, config)

@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.

get(token_id, config)

@spec get(String.t(), Worldpay.Config.t()) ::
  {:ok, map()} | {:error, Worldpay.Error.t()}

Retrieve a Worldpay token by ID.

get_network_token(npt_id, config)

@spec get_network_token(String.t(), Worldpay.Config.t()) ::
  {:ok, map()} | {:error, Worldpay.Error.t()}

Query a network token by ID.

provision_cryptogram(npt_id, config)

@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).

update(token_id, body, config)

@spec update(String.t(), map(), Worldpay.Config.t()) ::
  {:ok, map()} | {:error, Worldpay.Error.t()}

Update a Worldpay token.