GetPayMethods

Obtain the Pay Methods associated with a provided client id.

Request Parameters

Parameter Type Description Required
action string “GetPayMethods” Required
clientid int The id of the client to obtain the Pay Methods for Required
paymethodid int The id of a specific Pay Method to retrieve Optional
type string The type of Pay Methods to return. ‘BankAccount’ or ‘CreditCard’ Optional

Response Parameters

Parameter Type Description
result string The result of the operation: success or error
clientid int The id of the client the Pay Methods are being returned for
paymethods array The Pay Methods matching the criteria

Example Request (CURL)

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
    http_build_query(
        array(
            'action' => 'GetPayMethods',
            // See https://developers.whmcs.com/api/authentication
            'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
            'password' => 'SECRET_OR_HASHED_PASSWORD',
            'clientid' => '1',
            'responsetype' => 'json',
        )
    )
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

Example Request (Local API)

$command = 'GetPayMethods';
$postData = array(
    'clientid' => '1',
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later

$results = localAPI($command, $postData, $adminUsername);
print_r($results);

Example Response JSON

{
    "result": "success",
    "clientid": "1",
    "paymethods": [
        {
            "id": 1,
            "type": "RemoteCreditCard",
            "description": "Default Card",
            "gateway_name": "stripe",
            "contact_type": "Client",
            "contact_id": 1,
            "card_last_four": "4242",
            "expiry_date": "02\/25",
            "start_date": "",
            "issue_number": "",
            "card_type": "Visa",
            "remote_token": "{\"customer\":\"xxx\",\"method\":\"xxx\"}",
            "last_updated": "17\/05\/2019 10:01"
        },
        {
            "id": 2,
            "type": "CreditCard",
            "description": "A Second Card Stored Locally",
            "gateway_name": "",
            "contact_type": "Client",
            "contact_id": 1,
            "card_last_four": "4242",
            "expiry_date": "11\/22",
            "start_date": "",
            "issue_number": "",
            "card_type": "Visa",
            "remote_token": "",
            "last_updated": "17\/05\/2019 10:21"
        },
        {
            "id": 3,
            "type": "BankAccount",
            "description": "A Bank Account",
            "gateway_name": "",
            "contact_type": "Client",
            "contact_id": 1,
            "bank_name": "Bank of America",
            "remote_token": "",
            "last_updated": "17\/05\/2019 10:01"
        },
        {
            "id": 4,
            "type": "RemoteBankAccount",
            "description": "A Remote Bank Account",
            "gateway_name": "gocardless",
            "contact_type": "Client",
            "contact_id": 1,
            "bank_name": "",
            "remote_token": "MD123456789",
            "last_updated": "17\/05\/2019 10:01"
        }
    ]
}

Error Responses

Possible error condition responses include:

  • Client ID Is Required
  • Invalid Pay Method Type. Should be ‘BankAccount’ or ‘CreditCard’
  • Client Not Found

Version History

Version Changelog
7.8.0 Initial Version