> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cdp.coinbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# X402V2PaymentPayload

> X402V2PaymentPayload API reference.

Package: [`com.coinbase.cdp.types`](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/index)

```java theme={null}
public final class X402V2PaymentPayload extends Object
```

## Method Details

### `getX402Version`

```java theme={null}
public X402Version getX402Version()
```

**Returns:**

[X402Version](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/X402Version) - The x402 protocol version. Must be `2` for this payload shape.

### `getPayload`

```java theme={null}
public X402V2PaymentPayloadPayload getPayload()
```

**Returns:**

[X402V2PaymentPayloadPayload](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/X402V2PaymentPayloadPayload) - The payload of the payment depending on the `x402Version`, scheme, and network. Discriminated by scheme-specific fields: exact-EVM/upto-EVM payloads carry a `signature`; exact-Solana carries a `transaction`; batch-settlement carries a `type` discriminator. See `x402BatchSettlementEvmPayload` for the documented batch-settlement variants.

### `getAccepted`

```java theme={null}
public X402V2PaymentRequirements getAccepted()
```

**Returns:**

[X402V2PaymentRequirements](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/X402V2PaymentRequirements)

### `getResource`

```java theme={null}
public Optional<X402ResourceInfo> getResource()
```

**Returns:**

`Optional`\<[X402ResourceInfo](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/X402ResourceInfo)>

### `getExtensions`

```java theme={null}
public Optional<Map<String,Object>> getExtensions()
```

**Returns:**

`Optional<Map<String,Object>>` - Optional protocol extensions.

### `equals`

```java theme={null}
public boolean equals(Object other)
```

**Overrides:**

`[equals](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals\(java.lang.Object\) "class or interface in java.lang")` in class `[Object](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html "class or interface in java.lang")`

**Parameters:**

`other` - `Object`

**Returns:**

`boolean`

### `getAdditionalProperties`

```java theme={null}
public Map<String,Object> getAdditionalProperties()
```

**Returns:**

`Map<String,Object>`

### `hashCode`

```java theme={null}
public int hashCode()
```

**Overrides:**

`[hashCode](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode\(\) "class or interface in java.lang")` in class `[Object](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html "class or interface in java.lang")`

**Returns:**

`int`

### `toString`

```java theme={null}
public String toString()
```

**Overrides:**

`[toString](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString\(\) "class or interface in java.lang")` in class `[Object](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html "class or interface in java.lang")`

**Returns:**

`String`

### `builder`

```java theme={null}
public static X402V2PaymentPayload.X402VersionStage builder()
```

**Returns:**

[X402V2PaymentPayload](/sdks/cdp-sdks-v2/java/com/coinbase/cdp/types/X402V2PaymentPayload).`X402VersionStage`
