Paypal API
  1. Payouts
Paypal API
  • Authorization
    • Generate access_token
      POST
    • Terminate access_token
      POST
    • User Info
      GET
    • Generate client_token
      POST
  • Orders
    • Create order
      POST
    • Show order details
      GET
    • Update order
      PATCH
    • Authorize payment for order
      POST
    • Capture payment for order
      POST
  • Payments
    • Show details for authorized payment
      GET
    • Reauthorize authorized payment
      POST
    • Void authorized payment
      POST
    • Capture authorized payment
      POST
    • Show captured payment details
      GET
    • Refund captured payment
      POST
    • Show refund details
      GET
  • Invoices
    • Invoices
      • Generate invoice number
      • Create draft invoice
      • Show invoice details
      • List invoices
      • Generate QR code
      • Fully update invoice
      • Send invoice
      • Send invoice reminder
      • Cancel sent invoice
      • Delete invoice
      • Search for invoices
      • Record payment for invoice
      • Delete external payment
      • Record refund for invoice
      • Delete external refund
    • Templates
      • List templates
      • Create template
      • Show template details
      • Fully update template
      • Delete template
  • Subscriptions
    • Catalog Products
      • Create product
      • List products
      • Show product details
      • Update product
    • Plans
      • Create plan
      • List plans
      • Show plan details
      • Update plan
      • Deactivate plan
      • Activate plan
      • Update pricing
    • Subscriptions
      • Create subscription
      • Show subscription details
      • Update subscription
      • Revise plan or quantity of subscription
      • Suspend subscription
      • Activate subscription
      • Cancel subscription
      • Capture authorized payment on subscription
      • List transactions for subscription
  • Payouts
    • Create batch payout
      POST
    • Show payout batch details
      GET
    • Show payout item details
      GET
    • Cancel unclaimed payout item
      POST
  • Webhooks
    • List available events
    • Create webhook
    • List webhooks
    • Show webhook details
    • List event notifications
    • List event subscriptions for webhook
    • Show event notification details
    • Trigger a sample event
    • Verify webhook signature
    • Resend event notification
    • Simulate webhook event
    • Update webhook
    • Delete webhook
  • Shipment Tracking
    • Add tracking information for multiple PayPal transactions
    • Show tracking information
    • Update or cancel tracking information for PayPal transaction
  • Transaction Search
    • List transactions
    • List all balances
  • Disputes
    • List disputes
    • Show dispute details
    • Accept claim
    • Appeal dispute
    • Settle dispute
    • Update dispute status
    • Make offer to resolve dispute
    • Provide evidence
    • Acknowledge returned item
    • Provide supporting information for dispute
    • Escalate dispute to claim
    • Accept offer to resolve dispute
    • Send message about dispute to other party
    • Deny offer to resolve dispute
    • Partially update dispute
  • Onboarding (Limited Release)
    • Manage Accounts
      • Create managed account
      • Search managed account through external id
      • Search managed account by Seller Id
      • Partially updates information for a managed account
      • Shows collection of registered wallet domains
  1. Payouts

Create batch payout

POST
/v1/payments/payouts
Creates a batch payout. In the JSON request body, pass a sender_batch_header and an items array. The sender_batch_header defines how to handle the payout. The items array defines the payout items.
You can make payouts to one or more recipients.
Notes:
  • PayPal does not process duplicate payouts. If you specify a sender_batch_id that was used in the last 30 days, the API rejects the request with an error message that shows the duplicate sender_batch_id and includes a HATEOAS link to the original payout with the same sender_batch_id.
    If you receive an HTTP 5nn status code, you can safely retry the request with the same sender_batch_id.
  • The Payouts API does not support build notation (BN) codes. In a future Payouts release, you can optionally provide BN codes in the PayPal-Partner-Attribution-Id request header.
    For information about the PayPal-Partner-Attribution-Id header, see HTTP request headers. To learn about or request a BN code, contact your partner manager or see PayPal Partner Program.

请求参数

Authorization
在 Header 添加参数
Authorization
,其值为在 Basic 之后拼接空格,以及经过 Base64 编码的 username:password
示例:
Authorization: Basic *****************
Header 参数
Content-Type
string 
必需
The Content-Type header field is used to specify the nature of the data in the body of an entity. PayPal REST APIs support application/json.
示例值:
application/json
PayPal-Request-Id
string 
必需
The server stores keys for 30 days.
示例值:
{{$guid}}
Body 参数application/json
sender_batch_header
object 
必需
sender_batch_id
string 
必需
email_subject
string 
必需
email_message
string 
必需
items
array [object {6}] 
必需
recipient_type
string 
必需
amount
object 
必需
note
string 
必需
sender_item_id
string 
必需
receiver
string 
必需
notification_language
string 
可选
示例
{
    "sender_batch_header": {
        "sender_batch_id": "Payouts_{{$timestamp}}",
        "email_subject": "You have a payout!",
        "email_message": "You have received a payout! Thanks for using our service!"
    },
    "items": [
        {
            "recipient_type": "EMAIL",
            "amount": {
                "value": "10.00",
                "currency": "USD"
            },
            "note": "Thanks for your patronage!",
            "sender_item_id": "201403140001",
            "receiver": "{{$randomEmail}}",
            "notification_language": "en-US"
        },
        {
            "recipient_type": "PHONE",
            "amount": {
                "value": "20.00",
                "currency": "USD"
            },
            "note": "Thanks for your support!",
            "sender_item_id": "201403140002",
            "receiver": "1-{{$randomPhoneNumber}}"
        },
        {
            "recipient_type": "PAYPAL_ID",
            "amount": {
                "value": "30.00",
                "currency": "USD"
            },
            "note": "Thanks for your patronage!",
            "sender_item_id": "201403140003",
            "receiver": "5DEJUG27PZB9J"
        }
    ]
}

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api-m.sandbox.paypal.com/v1/payments/payouts' \
--header 'PayPal-Request-Id: ' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic Og==' \
--data-raw '{
    "sender_batch_header": {
        "sender_batch_id": "Payouts_{{$timestamp}}",
        "email_subject": "You have a payout!",
        "email_message": "You have received a payout! Thanks for using our service!"
    },
    "items": [
        {
            "recipient_type": "EMAIL",
            "amount": {
                "value": "10.00",
                "currency": "USD"
            },
            "note": "Thanks for your patronage!",
            "sender_item_id": "201403140001",
            "receiver": "{{$randomEmail}}",
            "notification_language": "en-US"
        },
        {
            "recipient_type": "PHONE",
            "amount": {
                "value": "20.00",
                "currency": "USD"
            },
            "note": "Thanks for your support!",
            "sender_item_id": "201403140002",
            "receiver": "1-{{$randomPhoneNumber}}"
        },
        {
            "recipient_type": "PAYPAL_ID",
            "amount": {
                "value": "30.00",
                "currency": "USD"
            },
            "note": "Thanks for your patronage!",
            "sender_item_id": "201403140003",
            "receiver": "5DEJUG27PZB9J"
        }
    ]
}'

返回响应

🟢201201 - Create Batch Payout
application/json
Body
batch_header
object 
必需
payout_batch_id
string 
必需
batch_status
string 
必需
sender_batch_header
object 
必需
links
array [object {4}] 
必需
href
string 
可选
rel
string 
可选
method
string 
可选
encType
string 
可选
示例
{
    "batch_header": {
        "payout_batch_id": "MJ77GF8MQ2TF6",
        "batch_status": "PENDING",
        "sender_batch_header": {
            "sender_batch_id": "Payouts_1681157804",
            "email_subject": "You have a payout!",
            "email_message": "You have received a payout! Thanks for using our service!"
        }
    },
    "links": [
        {
            "href": "https://api.sandbox.paypal.com/v1/payments/payouts/MJ77GF8MQ2TF6",
            "rel": "self",
            "method": "GET",
            "encType": "application/json"
        }
    ]
}
🟠400400 Bad Request - Sender Batch ID Already Exists
🟠401401 Unauthorized - Invalid Token
上一页
List transactions for subscription
下一页
Show payout batch details
Built with