import CodeBlock from '@theme/CodeBlock'; import SimpleWidget from '@site/integration/components/_simple-widget.mdx' import SimpleWidgetWithGateway from '@site/integration/components/_simple-widget-with-gateway.mdx' import CustomerQueryToken from '@site/integration/components/_customer-query-token.mdx' import CreateSessionVault from '@site/integration/components/_create-session-vault.mdx' import CanvasWidget from '@site/integration/components/_canvas-3ds-widget.mdx' import CreateChargeSessionVault from '@site/integration/components/_create-charge-with-session-vault.mdx' import CreatePreAuthAndCaptureWithSessionVault from '@site/integration/components/_create-preauth-and-capture-with-session-vault.mdx' import AddDefaultPaymentToCustomerWithPermVault from '@site/integration/components/_add-default-payment-source-to-customer.mdx' import CreateCustomerPermVault from '@site/integration/components/_create-customer-with-perm-vault.mdx' import CreatePermVault from '@site/integration/components/_create-perm-vault-with-ott.mdx' import CreateChargeWithDefaultPaymentSource from '@site/integration/components/_create-charge-default-payment-source.mdx' import CreatePreAuthAndCaptureWithPermVaultCustomer from '@site/integration/components/_create-preauth-and-capture-with-perm-vault-against-customer.mdx'

Customers can only be created with a payment source. There are various ways to create / add a payment source to a customer depending on the desired outcome.

The payment source can be tied to a gateway or be gateway agnostic. The benefit to having a gateway agnostic payment source is that you can utilise the Paydock routing rules.

Create a “Simple Widget” using the Paydock Client-SDK

<SimpleWidgetWithGateway/>

Convert the OTT to a permamnent vault token

<CreatePermVault/>

Create customer with permanent vault token

<CreateCustomerPermVault/>

Add the new default payment

<AddDefaultPaymentToCustomerWithPermVault/>