After the user has successfully logged in and you've received their userPublicToken, you can create a crypto payment request (invoice) using the trusteePayStartRequest mutation.
For now, all invoice creation must be done server-side, using a secure merchantWebKey.
Get Supported Currencies (Optional)
To display supported payment currencies and exchange rates, query getTrusteePayCurrencies
GraphQL Query
Sample Response
query getTrusteePayCurrencies {
getTrusteePayCurrencies
}💡 Use this to show real-time rates or allow users to choose a currency before invoice creation.
Create Payment Request
This step generates a crypto invoice for a specific amount and currency. The invoice will be shown in the Trustee app for payment approval.
Graph QL Mutation
Example Variables
Sample Response
Response Fields
mutation trusteePayStartRequest(
$toUserPublicToken: String!,
$amount: Float!,
$currencyCode: String!,
$merchantWebKey: String!,
$merchantTransactionId: String!,
$merchantRequestOptions: String
) {
trusteePayStartRequest(
toUserPublicToken: $toUserPublicToken,
amount: $amount,
currencyCode: $currencyCode,
merchantWebKey: $merchantWebKey,
merchantTransactionId: $merchantTransactionId,
merchantRequestOptions: $merchantRequestOptions
)
}Reusing or Updating an Invoice
If you send the same merchantTransactionId again:
- It will not create a new invoice, but update the existing one (e.g., with a new userPublicToken or amount) and generate new uniqueKeyForResponse
- Use this if your business logic allows reassigning invoices or several payments for one order







































