cimplify

Link

Saved customer data for express checkout -- like Shop Pay or Link by Stripe.

TS
// Set JWT after Elements auth, then access saved data
client.setAccessToken(jwtFromElementsAuth)

const linkData = await client.link.getLinkData()
if (linkData.ok) {
  console.log(linkData.value.customer)
  console.log(linkData.value.addresses)
  console.log(linkData.value.mobile_money)
}

Link requires JWT authentication. Set the token via client.setAccessToken(token) after authenticating through Elements or the auth service. Link is used automatically by Elements during checkout -- direct usage is for custom UIs.

getLinkData

Returns the full customer profile, saved addresses, mobile money accounts, and preferences in one call.

TS
const data = await client.link.getLinkData() // Result<LinkData>

Addresses

TS
const addresses = await client.link.getAddresses() // Result<Address[]>

const added = await client.link.addAddress({
  address_line1: '42 Main Street',
  city: 'Accra',
  country: 'GH',
  label: 'Home',
})

await client.link.deleteAddress('addr_xxxxx')

Mobile Money Accounts

TS
const accounts = await client.link.getMobileMoneyAccounts() // Result<MobileMoneyAccount[]>

const added = await client.link.addMobileMoneyAccount({
  phone_number: '+233200000001',
  provider: 'mtn',
  account_name: 'Ada Lovelace',
})

await client.link.deleteMobileMoneyAccount('mm_xxxxx')

Preferences

TS
const prefs = await client.link.getPreferences() // Result<LinkPreferences>

await client.link.updatePreferences({
  default_order_type: 'delivery',
  save_payment_methods: true,
})

Sessions

TS
const sessions = await client.link.getSessions() // Result<LinkSession[]>

await client.link.revokeSession('sess_xxxxx') // revoke a specific session

All Methods

MethodReturns
getLinkData()Result<LinkData>
getAddresses()Result<Address[]>
addAddress(input)Result<Address>
deleteAddress(id)Result<void>
getMobileMoneyAccounts()Result<MobileMoneyAccount[]>
addMobileMoneyAccount(input)Result<MobileMoneyAccount>
deleteMobileMoneyAccount(id)Result<void>
getPreferences()Result<LinkPreferences>
updatePreferences(input)Result<LinkPreferences>
getSessions()Result<LinkSession[]>
revokeSession(id)Result<void>

Next Steps