Ir al contenido
GitHub

Create a quote grant request

Esta página aún no está disponible en tu idioma.

Before a client can call most of the Open Payments APIs, it must receive a grant from the appropriate authorization server.

The snippets below enable a client to request a grant for a quote. The request to the authorization server must indicate the quote access type the and actions the client wants to take at the resource server.

We recommend creating a wallet account on the test wallet. Creating an account allows you to test your client against the Open Payments APIs by using an ILP-enabled wallet funded with play money.

Prerequisites
Initial configuration

If you’re using JavaScript, only do the first step.

  1. Add "type": "module" to package.json.
  2. Add the following to tsconfig.json
    {
    "compilerOptions": {
    "target": "ES2022",
    "module": "ES2022"
    }
    }
// Import dependencies
import { createAuthenticatedClient } from '@interledger/open-payments'
// Initialize client
const client = await createAuthenticatedClient({
walletAddressUrl: WALLET_ADDRESS,
privateKey: PRIVATE_KEY_PATH,
keyId: KEY_ID
})
// Get wallet address information
const walletAddress = await client.walletAddress.get({
url: WALLET_ADDRESS
})
// Request quote grant
const grant = await client.grant.request(
{
url: walletAddress.authServer
},
{
access_token: {
access: [
{
type: 'quote',
actions: ['create', 'read', 'read-all']
}
]
}
}
)
// Check grant state
if (isPendingGrant(grant)) {
throw new Error('Expected non-interactive grant')
}
// Output
console.log('QUOTE_ACCESS_TOKEN =', grant.access_token.value)
console.log('QUOTE_ACCESS_TOKEN_MANAGE_URL = ', grant.access_token.manage)

For TypeScript, run tsx path/to/directory/index.ts. View full TS source

For JavaScript, run node path/to/directory/index.js. View full JS source