16 results
2026-04-27 Client ID Secret Authentication App registration
Managing the client ID and client secret

Where to find the client ID and client secret, how to store them, regenerating the secret after a suspected leak, and running several environments.

2026-04-27 Webhook Signature verification HMAC X-RR-Signature Security
Signature verification and security

How X-RR-Signature is computed, verification code for Node.js, Python and C#, guarding against replays, and how to replace a webhook secret.

2026-04-27 Webhook Registration Endpoint Event subscription Test send
How to register a Webhook

Register a webhook in the developer portal or through the API, choose events that are actually sent, run a test send, and change, pause or delete a webhook.

2026-10-26 Quickstart Webhook receipt.created Signature verification Slack Node.js
Receive new sales by webhook and post them to Slack

Register a receipt.created webhook, verify its signature and drop duplicates in Node.js, and post each new sale to a Slack channel.

2026-04-27 Secret Rotation Security Key management
Rotating and safely storing secrets

Explains the rotation plan for safely operating ReceiptRoller client secrets and Webhook secrets, how to use the old/new parallel period, and best practices for storage.

2026-04-27 app-registration oauth client developer-portal
Creating a new app

How to register a developer app in a business account: the fields, how the credentials are shown, what you can do afterwards, and common stumbling points.

2026-04-27 Access token Refresh token OAuth Expiry
Obtaining and refreshing an access token

How to obtain and refresh access tokens (8 hours) and refresh tokens (30 days), how refresh tokens rotate, and when tokens stop working.

2026-04-27 app-registration oauth client getting-started
What is application registration

Explains the concept of ReceiptRoller application registration. Registering an app as an OAuth client issues a client ID, secret, and redirect URI, letting you start API and Webhook integrations.

2026-04-27 Troubleshooting Webhook Delivery
Webhook is not being delivered

When a webhook does not arrive: narrow it down with a test send and the delivery log, then check the active flag, subscribed events, connection and signature.

2026-04-27 Troubleshooting Token Authentication OAuth
Cannot obtain a token (authentication error)

How to narrow down a 400 or 401 from the token endpoint, with the fix for each error and error_description, including invalid_client and invalid_grant.

2026-10-26 quickstart OAuth PKCE access token transactions Node.js
Your first API call: from app registration to listing transactions

Get a token with the OAuth authorization code flow and PKCE, confirm the business account, list its transactions, and refresh the token.

2026-04-27 OAuth Redirect URI App registration Security
Setting the redirect URL

The role of the single redirect URI on a developer app, the exact-match rule, separating environments, changing it, and common errors.

2026-04-09 oauth api receipt webhook ios android line
Wallet App: Guide to Fetching a User's Receipts via OAuth

Explains how to fetch a user's Receipt Roller purchase receipts, with their consent, from a wallet-style app such as iOS, Android, or a LINE Mini App. Covers OAuth 2.0 authentication, the receipts API, and Webhook integration.

2026-04-27 Webhook Monitoring Delivery log Incident response
Monitoring and handling failures

Read a webhook's active flag, last delivery time and delivery log, notice when it has switched itself off, recover, and fill the gap from the API.

2026-03-27 API authentication OAuth 2.0 authorization code developer guide
API Authentication Guide

How to authenticate with the OAuth 2.0 authorization code flow: authorize parameters, the consent screen, token exchange and revocation, errors and scopes.

2026-04-27 Webhook Events API receipt.created order.created
Webhook overview

Which webhook events are actually sent, what the request and signature headers look like, how duplicates, order and lost events behave, and when to use the API.