# P24 Payment Object Information used to pay using P24(Przelewy24). ## Structure `P24PaymentObject` ## Fields | Name | Type | Tags | Description | Getter | Setter | | --- | --- | --- | --- | --- | --- | | `name` | `?string` | Optional | The full name representation like Mr J Smith.
**Constraints**: *Minimum Length*: `3`, *Maximum Length*: `300` | getName(): ?string | setName(?string name): void | | `email` | `?string` | Optional | The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after the @ sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted @ sign exists.

**Constraints**: *Minimum Length*: `3`, *Maximum Length*: `254`, *Pattern*: ``^(?:[A-Za-z0-9!#$%&'*+/=?^_`{\|}~-]+(?:\.[A-Za-z0-9!#$%&'*+/=?^_`{\|}~-]+)*\|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]\|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\|\[(?:(?:25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]\|2[0-4][0-9]\|[01]?[0-9][0-9]?\|[A-Za-z0-9-]*[A-Za-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]\|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$`` | getEmail(): ?string | setEmail(?string email): void | | `countryCode` | `?string` | Optional | The [two-character ISO 3166-1 code](/api/rest/reference/country-codes/) that identifies the country or region.
Note: The country code for Great Britain is GB and not UK as used in the top-level domain names for that country. Use the `C2` country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.

**Constraints**: *Minimum Length*: `2`, *Maximum Length*: `2`, *Pattern*: `^([A-Z]{2}\|C2)$` | getCountryCode(): ?string | setCountryCode(?string countryCode): void | | `paymentDescriptor` | `?string` | Optional | P24 generated payment description.
**Constraints**: *Minimum Length*: `1`, *Maximum Length*: `2000` | getPaymentDescriptor(): ?string | setPaymentDescriptor(?string paymentDescriptor): void | | `methodId` | `?string` | Optional | Numeric identifier of the payment scheme or bank used for the payment.
**Constraints**: *Minimum Length*: `1`, *Maximum Length*: `300` | getMethodId(): ?string | setMethodId(?string methodId): void | | `methodDescription` | `?string` | Optional | Friendly name of the payment scheme or bank used for the payment.
**Constraints**: *Minimum Length*: `1`, *Maximum Length*: `2000` | getMethodDescription(): ?string | setMethodDescription(?string methodDescription): void | ## Example (as JSON) ```json { "name": "name4", "email": "email2", "country_code": "country_code4", "payment_descriptor": "payment_descriptor8", "method_id": "method_id8" } ```