Braintree and PayPal integration guide: connect FlyCode
Connect FlyCode to Braintree or PayPal to recover failed subscription payments: restricted role, API user, merchant account, go-live checklist, troubleshooting.
Who this is for
B2C and B2B SaaS and subscription businesses processing recurring payments through Braintree (including PayPal via Braintree) who want to recover more failed payments and reduce involuntary churn without changing their billing integration.
Prerequisites
Braintree Control Panel access with permission to manage roles and users (Account Admin).
The merchant account ID(s) you want FlyCode to cover.
A FlyCode account. Get started if you do not have one; you will receive the FlyCode email address to use for the API user.
Setup
Create a FlyCode role
In the Braintree Control Panel go to Settings, Team, Roles, and create a new role named FlyCode. Grant only the permissions shown below (read access to customers, payment methods, subscriptions and transactions, and the ability to create transactions and update subscriptions). Do not grant settlement, refund or account settings permissions.

Add a FlyCode API user
Go to Settings, Team, Users, Add new user. Enter the FlyCode email address you received during sign-up, then:
Enable API Access.
Under Roles, select the FlyCode role you created in Step 1.
Under Merchant account, select the account(s) FlyCode should cover.
Click Create User. Braintree generates API credentials for the user.
Share credentials and set a launch date
Share the API credentials with FlyCode through the secure channel provided during onboarding (never by plain email). FlyCode connects, loads existing failed transactions and subscriptions in a past-due state, and agrees a launch date with you. If Braintree or your billing system sends failed-payment emails, decide whether FlyCode or your system owns messaging.
How FlyCode behaves on Braintree and PayPal
Retries failed subscription transactions with model-driven timing within card network limits.
Does not retry hard declines; falls back to another stored payment method where available, otherwise triggers outreach.
Records every retry as a Braintree transaction visible in the Control Panel and reflected in your existing reporting.
Can be scoped to specific merchant accounts.
Go-live checklist
Troubleshooting
FlyCode reports it cannot read subscriptions or transactions. The role is missing a read permission, or the user is not assigned to the right merchant account. Compare against the screenshot in Step 1.
Retries are not appearing. API access is not enabled on the user, or the launch date has not been reached.
Duplicate customer emails. Both your billing system and FlyCode are messaging on failed payments. Choose one owner.
FAQ
Does FlyCode need full admin access? No. The restricted role limits FlyCode to reading billing objects and creating retry transactions.
Does this cover PayPal wallet payments? Yes, for PayPal payment methods vaulted in Braintree. Retry behaviour follows PayPal's rules for reference transactions.
Can I revoke access? Yes, at any time by deleting or disabling the FlyCode user in Braintree.
Related
Integration Considerations in the Help Center
Last updated
Was this helpful?