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 sessionAll Methods
| Method | Returns |
|---|---|
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> |