Dashboard
Connect your PayPal API credentials to load dashboard
Start Date
End Date
Transaction ID
Status
Page Size
| ID | Date | Code | Status | Payer | Amount | Fee | Net | Invoice | |
|---|---|---|---|---|---|---|---|---|---|
| Set date range and search | |||||||||
Restricted API — Special Permission Required
The PayPal Balances API (
/v1/reporting/balances) requires the Transaction Search feature to be explicitly enabled on your app. Without it you will always get Authorization failed due to insufficient permissions.How to fix in 3 steps:
- Go to developer.paypal.com/dashboard/applications
- Open your App → scroll to Features → enable Transaction Search → Save
- Re-connect here with a fresh token
Also requires a PayPal Business account. Personal accounts always return 403.
Currency (optional)
Click Get Balances
Order Management
Authorizations
Captures & Refunds
Issue Refund on Capture
| Invoice ID | Status | Recipient | Due Date | Amount | |
|---|---|---|---|---|---|
| Click List Invoices | |||||
Create Payout
Payout Lookup
Get Payout Batch
Get Payout Item
Cancel Payout Item
| Plan ID | Name | Status | Interval | Price | |
|---|---|---|---|---|---|
| Click Load Plans | |||||
Step 1 — Look Up Capture
Capture Details
Capture ID
Amount
Currency
Created
Invoice / Custom ID
Step 2 — Issue Refund
Refund Issued
Refund ID
Amount Refunded
Status
Created
Full response JSON
Refund Failed
Step 3 — Look Up Existing Refund by Refund ID
Refund ID
Amount
Status
Created
Full response JSON
Status
Reason
Search ID
--
Total
--
Open
--
Waiting
--
Resolved
Disputes
Load disputes to begin
Select a dispute from the list
to view details and take actions
to view details and take actions
Dispute Auto-Reply Bot Server-Side
Fully automatic — runs on the server every 5 minutes. No browser tab needed. Detects WAITING_FOR_SELLER_RESPONSE disputes and replies instantly.
DISABLED
How it works: The server checks PayPal for disputes in state
WAITING_FOR_SELLER_RESPONSE every 5 minutes via Cloudflare cron. When found, it sends the matching message template automatically. Each dispute is replied to only once. You can also trigger a poll manually anytime.
Step 1 — Bot Credentials
Checking...
The bot needs PayPal credentials stored server-side so it can run automatically without a browser. One-click save from your active profile, or enter manually.
Save from Active Profile
Connect a profile first to use one-click save
or enter manually
Step 2 — Auto-Reply Messages
Set a message per dispute reason — or just fill Default to cover all.
Use
{{dispute_id}}, {{reason}}, {{amount}} as placeholders.
All Reasons
MERCHANDISE_OR_SERVICE_NOT_RECEIVED
MERCHANDISE_OR_SERVICE_NOT_AS_DESCRIBED
UNAUTHORISED
DUPLICATE_TRANSACTION
Step 3 — Auto-Accept Bot
Instant Close
When ON — every new
WAITING_FOR_SELLER_RESPONSE dispute is automatically closed in buyer's favor via accept-claim. No manual action needed. Runs every 5 min.
OFF
Irreversible. Every dispute — regardless of reason or amount — will be auto-closed in the buyer's favor. Only enable if you want to accept ALL disputes automatically. Chargebacks need manual handling regardless.
Run Now
Trigger the server-side poll immediately — checks all open disputes and sends replies or auto-accepts right now.
Test Fire
Each dispute is only replied to once. Reset to re-reply to all open disputes.
Activity Log
No activity yet
Adaptive Payments — Generate coral/payment?paykey Links
This uses a different credential set than the REST API — you need your NVP/SOAP API credentials (Username, Password, Signature) from PayPal. These are Classic API credentials, separate from Client ID/Secret.
Enter your App ID from developer.paypal.com. For sandbox, find it under your sandbox app settings. For live, use your approved live AppID.
NVP/Classic API Credentials
Look Up Existing PayKey
Create Payment Link
For a single payment, add one receiver. For split payments, add multiple.
Log In with PayPal — OAuth 2.0 / OpenID Connect
Lets users sign in to your website using their PayPal account.
Your app gets verified name, email, address and payer ID without storing passwords.
Works exactly like "Sign in with Google". Requires Login with PayPal to be enabled on your app at
developer.paypal.com → Applications.
1Build Authorization URL
2Generated URL & Button
Authorization URL
HTML Snippet (paste into your site)
Fill Step 1 and click Generate
3Exchange Authorization Code → User Access Token
(after user approves and is redirected back with ?code=...)
Token received!
Access Token
Expires In
Token Type
Exchange Failed
4Fetch User Profile (UserInfo)
(uses the user's access token from Step 3)
Payer ID
Account Type
Locale
Phone
Birthdate
Account Status
Address
Raw JSON response
UserInfo Failed
API Permissions & Features
Live probe of your connected credentials — shows exactly which PayPal APIs your app can access
Connect an API profile to check permissions
How to enable restricted features
If an API shows ✗ Permission Denied you need to enable it on your PayPal app:
- Go to developer.paypal.com/dashboard/applications
- Click your app → scroll to Features section
- Toggle on the feature (e.g. Transaction Search, Payouts)
- Click Save → reconnect here with a fresh token → re-check
Connect an API profile and click Re-check All to probe all permissions
Raw API Request
Response
// Response appears here...
Quick Endpoints
Connect API first...
Templates