# Billing Account API - Get Payment Methods
## 1. API Overview
### Purpose
[context]
This API retrieves a list of all payment methods registered by a specific user (`userNo`) and their current status.
It is primarily used in 'Manage Payment Methods' screens or to load saved cards during the payment process.
By providing masked card numbers, issuer information, and payment method block status, it helps users identify and select valid payment methods for secure transactions.
[/context]
### Details
[table:key-value]
| Item | Value |
| :-------------- | :-------------------------- |
| **API Name** | Get Payment Methods |
| **API Path** | /api/v2/payment-methods/query |
| **API ID** | EBP_API_109 |
| **HTTP Method** | [badge:POST,blue,lg] |
| **Region** | [badge:Global,green-subtle,lg] |
[/table]
## 2. Request Specification
### 2.1 Request Header
@@include:common-headers-link.md@@
### 2.2 Request Data Schema
| Field | Details & Description |
| ------ | ------------------------------------------------------------- |
| userNo | [type:string] [req:Yes] [desc:Unique identifier for the user] |
### 2.3 Request Examples
#### JSON Example
```json
{
"userNo": "dba6e05d13b7557e9efa4d414145cbfc"
}
```
## 3. Response Specification
### 3.1 Response Data Schema
#### Response Data Schema
@@include:standard-response_en.md@@
| -1 | data | [type:array] [req:Yes] [desc:List of payment method objects] |
| 0 | userNo | [type:string] [req:Yes] [desc:Unique identifier for the user] |
| 0 | billingAccountNo| [type:string] [req:Yes] [desc:Billing account number] |
| 0 | paymentMethod | [type:string] [req:Yes] [desc:Payment method code [modal:appendix/payment-method-codes#payment-methods]] |
| 0 | paymentMethodId | [type-size:string,16] [req:Yes] [desc:Payment Method identifier (for server internal/external tracking)] |
| 0 | cardNumber | [type:string] [req:Yes] [desc:Masked card number (Original PAN not included. Recommended: First 6 / Last 4)] |
| 0 | cardIssuer | [type:string] [req:Yes] [desc:Card issuer or brand name] [eg:Visa, Mastercard] |
| 0 | isBlocked | [type:boolean] [req:Yes] [desc:Block status (true if blocked)] |
| 0 | pinErrorCount | [type:number] [req:Optional] [desc:Number of PIN entry errors (minimum 0)] |
| 0 | isPinRegistered | [type:boolean] [req:Optional] [desc:Indicates if a PIN is registered] |
| 0 | pgProvider | [type:string] [req:Yes] [desc:Payment Gateway (PG) code] [eg:WORLDPAY, OMISE] |
| 0 | pgChannel | [type:string] [req:Yes] [desc:PG Channel code] [eg:WP_CARD, OMISE_CARD] |
### 3.2 Response Samples
#### Success Response
```json
{
"resultCode": "0",
"message": "SUCCESS",
"requestId": "01EFX0CUI7JK0KCSSTFEEDRDVA",
"timestamp": "2025-12-30T06:21:55.556809100Z",
"data": [
{
"userNo": "AU1741850000100",
"billingAccountNo": "K202603170624637",
"paymentMethod": "CARD",
"paymentMethodId": "b79c2955f3a7462f86885c2d7fae04b5",
"cardNumber": "************0023",
"cardIssuer": "Visa",
"isBlocked": false,
"pinErrorCount": 0,
"isPinRegistered": true,
"pgProvider": "WORLDPAY",
"pgChannel": "WP_CARD"
}
]
}
```