Braintree · PayPal
Keep Braintree · PayPal in step with your orders, invoices and payments without re-keying, with the right person approving what changes.
33 ways to read, 10 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Braintree · PayPal, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create customer
customers.createApproval by rule - Add package tracking
package_tracking.createApproval by rule - Get payment-level fee report
fee_reports.getRead
Example flow
- Braintree · PayPal · Get payment-level fee report
fee_reports.getDone - Braintree · PayPal · Create customer
customers.createMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Braintree · PayPal.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Braintree · PayPal
- Braintree · PayPal's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect a PayPal test account before you go live.
For developers
Technical detail
Braintree GraphQL: payments, refunds, settlement batches, disputes, fee reports, payment methods, subscriptions and account setup (read); customers, plans, add-ons, discounts and payment metadata (write).
PayPal API docs- Source actions
- 33
- Destination actions
- 10
- Data types
- 26
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
apple pay domains1
- List Apple Pay domainsSource
Domains registered for Apple Pay on the web.
customer transactions1
- List a customer's transactionsSource
Transactions of one vault customer.
customers4
- Create customerDestinationNot retried automaticallyApproval before production
Create a vault customer (no payment method and no charge).
- Get customerSource
Get customer by its GraphQL ID.
- Search customersSource
Find vault customers by creation time, email, company or name.
- Update customerDestinationProvider duplicate protectionApproval before production
Update supplied fields on a vault customer.
dispute evidence1
- List dispute evidenceSource
Evidence already attached to one dispute (read only).
dispute status history1
- List dispute status historySource
Status changes of one dispute, with effective and disbursement dates.
disputes2
- Get disputeSource
Get dispute by its GraphQL ID.
- Search disputesSourceIncremental
Read disputes by received date, status, type or transaction.
fee reports1
- Get payment-level fee reportSource
Download link for the payment-level fee report of one day (interchange and Braintree fees per transaction and refund).
in store locations1
- List in-store locationsSource
Store locations used with Braintree in-store card readers.
in store readers1
- Search in-store readersSource
Paired card readers by status, name or location.
legacy ids1
- Translate legacy IDsSource
Convert Control Panel (legacy) IDs, such as transaction or customer IDs from the REST SDKs, into GraphQL IDs.
merchant accounts2
- Get merchant accountSource
One merchant account by its merchant account ID.
- List merchant accountsSource
Merchant accounts (currencies and settlement accounts) of the gateway.
merchant1
- Get merchant and API userSource
Merchant profile, plus the API user's roles and rights.
package tracking1
- Add package trackingDestinationNot retried automaticallyApproval before production
Attach a shipment tracking number to a transaction (PayPal transactions forward it to PayPal). The payer is not notified by Nexra.
payment custom fields1
- Update payment custom fieldsDestinationProvider duplicate protectionApproval before production
Set custom field values on a transaction or refund (metadata only; amounts and status are unchanged).
payment methods2
- Get payment methodSource
Get payment method by its GraphQL ID.
- List a customer's payment methodsSource
Vaulted payment methods for one customer: type, brand, last four and expiry.
payments1
- Search paymentsSourceIncremental
Read transactions and refunds together (the Braintree payments search) by type, creation time, status, order, customer, merchant account, source or settlement batch.
plan add ons3
- Create plan add-onDestinationNot retried automaticallyApproval before production
Create a recurring billing add-on template. Templates bill nobody until a subscription uses them.
- List plan add-onsSource
Recurring billing add-on templates configured for plans (single page).
- Update plan add-onDestinationProvider duplicate protectionApproval before production
Update supplied fields on a recurring billing add-on template.
plan discounts3
- Create plan discountDestinationNot retried automaticallyApproval before production
Create a recurring billing discount template. Templates bill nobody until a subscription uses them.
- List plan discountsSource
Recurring billing discount templates configured for plans (single page).
- Update plan discountDestinationProvider duplicate protectionApproval before production
Update supplied fields on a recurring billing discount template.
plans4
- Create subscription planDestinationNot retried automaticallyApproval before production
Create a recurring billing plan template. A plan bills nobody until a subscription is created on it, which Nexra does not do.
- Get subscription planSource
Get subscription plan by its GraphQL ID.
- List subscription plansSource
Recurring billing plans configured in the Control Panel (single page).
- Update subscription planDestinationProvider duplicate protectionApproval before production
Update supplied fields on a recurring billing plan.
refunds2
- Get refundSource
Get refund by its GraphQL ID.
- Search refundsSourceIncremental
Read refunds already issued. Nexra never issues refunds.
roles1
- List rolesSource
Control Panel roles and their rights.
subscriptions2
- Get subscriptionSource
Get subscription by its GraphQL ID.
- Search subscriptionsSource
Read recurring billing subscriptions by status, plan, creation time or next billing date.
transaction line items1
- List transaction line itemsSource
Level 3 line items recorded on one transaction.
transaction status history1
- List transaction status historySource
Status changes of one transaction (authorized, submitted, settled ...).
transactions2
- Get transactionSource
Get transaction by its GraphQL ID.
- Search transactionsSourceIncremental
Read Braintree transactions by creation time, status, order, customer, merchant account or disbursement date.
verifications2
- Get verificationSource
Get verification by its GraphQL ID.
- Search verificationsSource
Read payment method verifications (AVS and CVV match results, processor response) by creation time or status.
Access and limits
- Authentication
- Braintree public/private API key
- Plans and access
- A Braintree gateway account with an API key pair (public and private key). The API user's role must allow viewing transactions, disputes and the vault, and managing customers for writes.
- Test environment
- Braintree Sandbox (payments.sandbox.braintree-api.com) with sandbox API keys.
- Rate limits
- Braintree throttles with HTTP 429 and may return GraphQL errors; Nexra retries reads with Retry-After and never repeats customer creation.
- Pagination
- Relay connections (first/after) with pageInfo.endCursor, up to 50 records per page.
- Provider events
- Braintree webhooks for transactions, disputes, disbursements and subscriptions, form-encoded and signed with the API key pair. Flows can start the moment something happens: when a transaction settles; when a transaction's settlement is declined; when a transaction is paid out to you; when a dispute is opened.
Before you build a flow
- Intentional exclusions: charging, authorizing, capturing, refunding, reversing or voiding transactions; vaulting, verifying, tokenizing or deleting payment methods (no card data passes through Nexra); creating, updating, charging or cancelling subscriptions; accepting, finalizing or adding evidence to disputes; deleting customers, plans, add-ons or discounts; in-store reader requests; changing transaction amounts; client tokens, OAuth client secrets and Apple Pay domain registration.
- Payment-level fee reports return Braintree's short-lived CSV download link, not the rows. Nexra does not fetch the file.
- Package tracking is added with notifyPayer false; Nexra never asks Braintree to email the payer.
- Line items, status history and dispute evidence are child lists of a single node and return one page.
- Braintree search has no updated-at filter; use creation, settlement or disbursement windows.
- Payouts: Braintree's GraphQL API has no payout (disbursement) list and no settlement batch summary query. Deposits are reconciled from the transactions, refunds and payments searches, filtered by settlement batch ID or disbursement date; each record carries its settlement batch and disbursement date.
- Fees: Braintree reports card processing fees only in the payment-level fee report (a CSV download link from fee_reports.get). The transaction and refund reads carry a fee only for PayPal payments.
- Disputes are searched by the day Braintree received them; there is no filter on dispute updates.
- Braintree GraphQL documents no idempotency key for createCustomer, so customer creation is never retried automatically.
- Payment methods return type, brand, last four and expiry only; PayPal and Venmo account identities, BINs, holder names and routing numbers are omitted.
Developer reference
- Create the PayPal credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Braintree · PayPal, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/braintree and the Connections API.