Skip to content

PayPal Payout

This component acts as a bridge between your Nappai automation workflows and the PayPal payment system. It enables you to execute two main actions: sending batch payouts to several people simultaneously or retrieving the status of a specific payment batch. By integrating directly with PayPal’s API, it automates the tedious process of manual transfers, ensuring that funds are distributed efficiently and tracked securely.

How it Works

The component connects to PayPal using secure authentication credentials. Once connected, it allows you to perform actions based on your needs:

  1. Sending Payments: When you choose to send a payout, the component packages the recipient’s email address, the amount to be sent, and any optional notes into a single request. It then sends this batch to PayPal, which processes the transfers to the recipients’ registered accounts.
  2. Checking Status: If you need to verify if a payment went through, the component can look up a specific payment batch using its unique ID. It returns the current status (e.g., Pending, Sent, Successful, or Failed) so you can take appropriate action in your workflow.

Connection & Credentials

This component requires configuring a credential in the Nappai panel before interacting with the external service:

  1. Go to the Credentials section in your Nappai panel.
  2. Create a new credential of the type PayPal API and fill in the required fields (Client ID, Client Secret, and Environment).
  3. In your workflow, select the saved credential in the Credential input field of this node.

Operations

This component offers several operations that you can select based on what you need to do. You can only use one operation at a time:

  • [Operation]: Select this to perform a specific action such as sending a payout or retrieving batch information.

To use the component, first select the operation you need in the “Operation” field.

Inputs

The following fields are available to configure this component. Each field may be visible in different operations:

  • [Operation]: Select the type of action you want to perform, such as sending a payout or retrieving status information.

    • Visible in: Operation
  • [Recipient Email]: The PayPal email address of the person who will receive the money. This must be a registered PayPal account. In sandbox mode, use one of the personal sandbox accounts from developer.paypal.com → Sandbox → Accounts.

    • Visible in: Operation
  • [Payout Batch ID]: The unique identifier for the PayPal payout batch you want to check. This is required when retrieving information about a specific batch.

    • Visible in: Operation
  • [Sender Batch ID]: A unique identifier that you create for your own records to track this payout batch (e.g., ‘batch_2024_001’). This is required when creating a new payout.

    • Visible in: Operation
  • [Amount]: The payout amount as a decimal string (e.g., ‘10.50’).

    • Visible in: Operation
  • [Currency]: Select the currency code for the transaction (e.g., USD, EUR).

    • Visible in: Operation
  • [Email Subject]: The subject line for the payout notification email that recipients will receive.

    • Visible in: Operation
  • [Note]: An optional note that you can include with the payment, visible to the recipient.

    • Visible in: Operation

Outputs

When this component executes successfully, it provides data that you can use in subsequent steps of your workflow. For batch payouts, it returns confirmation details including a batch ID for future reference. For status checks, it returns the current state of the payment.

Output Data Example (JSON)json

{ “batch_header”: { “batch_id”: “5OT185176E102011S”, “batch_status”: “SENT”, “amount”: { “currency”: “USD”, “value”: “11.00” }, “time_sent”: “2023-10-27T05:07:44Z” }, “items”: [ { “sender_item_id”: “2012_0”, “recipient_wallet”: “bob@business.com”, “amount”: { “currency”: “USD”, “value”: “11.00” }, “note”: “Hello, Bob! Thanks for your business.”, “receipt_id”: “5OT185176E102011S”, “transaction_id”: “5OT185176E102011S”, “transaction_status”: “SUCCESS”, “transaction_note”: “bob@business.com” } ] }

Connectivity

This component typically connects to data sources like spreadsheets, databases, or CRM systems that contain lists of recipients and payment amounts. After sending payouts, it often connects to notification components (like Email or Slack) to alert teams when payments are successful or failed. It can also connect to logging or storage components to save the batch IDs for future auditing.

Usage Example

Scenario: Paying Freelancers

  1. Trigger: A workflow starts when a new invoice is approved in your system.
  2. Data Preparation: You map the freelancer’s email and the approved amount from the invoice data to the Recipient Email and Amount fields.
  3. Configuration: You set the Operation to send a payout, provide a Sender Batch ID for your records, and add a thank-you note.
  4. Execution: The component sends the payment via PayPal.
  5. Verification: You can then use the Payout Batch ID from the output to check the status later if needed, ensuring the freelancer received their funds.

Tips and Best Practices

  • Always test your workflows in Sandbox mode first using sandbox PayPal accounts to ensure payments process correctly without moving real money.
  • Use descriptive Sender Batch IDs that make it easy for you to identify the batch in your internal records (e.g., include dates or project names).
  • Keep Notes concise and professional, as they are visible to the recipient.
  • Ensure that all Recipient Emails are valid and registered with PayPal to avoid transaction failures.

Security Considerations

  • Credential Safety: Never share your PayPal API Client Secret or Client ID. These are stored securely in Nappai’s credential manager.
  • Data Privacy: Be cautious with the Note field, as it is visible to the recipient. Avoid including sensitive personal information in notes.
  • Sandbox vs. Live: Double-check your Credential settings to ensure you are using the correct environment (Sandbox for testing, Live for real transactions).