> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# Get PayPal account details for transaction payments

Transactions now return PayPal account details for PayPal payment attempts, including email address and billing agreement reference.

---

## What's new?

We added a new `paypal` object to `payments[].method_details` against a [transaction entity](https://developer.paddle.com/api-reference/transactions.md). It returns the email address and billing agreement reference for customers who pay using [PayPal](https://developer.paddle.com/concepts/payment-methods/paypal.md).

- **paypal** (object): Information about the PayPal account used to pay. `null` unless `type` is `paypal`.
- **paypal.email** (string): Email address associated with the PayPal account.
- **paypal.reference** (string): PayPal billing agreement identifier. Only populated for subscription payments where a billing agreement was created between the customer and PayPal. `null` for one-off PayPal payments.

## How it works

[Transactions](https://developer.paddle.com/api-reference/transactions.md) have an array of `payments`, which returns an object for each payment attempt for a transaction.

Previously, `method_details` included a `card` object with information about the card used to pay, but there was no equivalent for PayPal. We added a `paypal` object to `method_details`, so now you can get the email address associated with the customer's PayPal account (`email`) and the billing agreement reference for a payment (`reference`).

The `reference` field is the PayPal billing agreement identifier. It's only populated for subscription payments where a billing agreement was created between the customer and PayPal. For one-off PayPal payments, `reference` is `null`.

This is especially useful for billing information screens and [payment change workflows](https://developer.paddle.com/build/subscriptions/update-payment-details.md), where you could show a customer information about their existing PayPal payment method.

## Next steps

This change is available in version `1` of the Paddle API.

It's a non-breaking change, meaning it doesn't impact existing integrations. The new `paypal` field is `null` for non-PayPal transactions.

You can [list transactions](https://developer.paddle.com/api-reference/transactions.md) or [get a transaction](https://developer.paddle.com/api-reference/transactions.md) using the API to see the new field.
## Summary of changes

| Name | Type | Change | Entity | Description |
| --- | --- | --- | --- | --- |
| `payments[].method_details.paypal` | Field | added | Transaction | Object containing PayPal account details for a payment attempt. `null` unless `type` is `paypal`. |
| `payments[].method_details.paypal.email` | Field | added | Transaction | Email address associated with the PayPal account used to pay. |
| `payments[].method_details.paypal.reference` | Field | added | Transaction | PayPal billing agreement identifier. Only populated for subscription payments. `null` for one-off PayPal payments. |
