Statement Descriptors
Learn how statement descriptors work
Statement descriptors are how payments appear on your customers' bank statements. Clear and accurate statement descriptors can reduce or avoid chargebacks.
When you activate your account, the value you indicate in the merchant's trade name appears on all customer statements, especially for card payments.
Override statement descriptor within your integration
You can set the statement descriptor within your integration if your business offers different products or services and wants to use a different statement descriptor from your merchant account's trade name,
You can specify a text value via the statement_descriptor
attribute within your integration, which is the value your customers will see in their bank statements.
It is important to use the appropriate statement descriptors to reduce chargebacks or being flagged by our risk team. We periodically review your transactions to ensure you use the appropriate statement descriptors.
Statement descriptor requirements
A statement descriptor must meet the following requirements:
- Contains only Latin characters.
- Contains between 5 and 22 characters.
- Contains at least one letter.
- Must not contain any of the following special characters:
<
,>
,\
,'
"
*
. - Reflects your Doing Business As (DBA) name.
- A text value that your customers can recognize your business.
Overriding the value for statement_descriptor
The following examples show how to override the statement_descriptor value when creating a PaymentIntent.
- Node
- PHP
- Python
- Ruby
// Protect your PayRex Secret API key at all costs. One common approach
// to store it in an environment variable.
// Add your PayRex test secret API key.
const payrexSecretApiKey = '';
const payrex = require('payrex-node')(payrexSecretApiKey);
// Create a PaymentIntent with amount and currency
const paymentIntent = await payrex.paymentIntents.create({
// Amount is in cents. The sample below is 100.00.
amount: 10000,
currency: 'PHP',
statement_descriptor: 'My Business',
payment_methods: ['gcash', 'card', 'maya', 'qrph'],
});
const output = {
clientSecret: paymentIntent.clientSecret,
}
console.log(JSON.stringify(output));
<?php
require_once '../vendor/autoload.php';
// Protect your PayRex Secret API key at all costs. One common approach
// to store it in an environment variable.
// Add your PayRex test secret API key.
$payrexSecretApiKey = '';
$payrex = new \Payrex\PayrexClient($payrexSecretApiKey);
// Create a PaymentIntent with amount and currency
$paymentIntent = $payrex->paymentIntents->create([
// Amount is in cents. The sample below is 100.00.
'amount' => 10000,
'currency' => 'PHP',
'statement_descriptor' => 'My Business',
'payment_methods' => [
'card',
'gcash',
'maya',
'qrph'
],
]);
$output = [
'clientSecret' => $paymentIntent->client_secret,
];
echo json_encode($output);
from payrex import Client as PayrexClient
# Protect your PayRex Secret API key at all costs. One common approach
# to store it in an environment variable.
# Add your PayRex test secret API key.
payrex_secret_api_key = ''
payrex = PayrexClient(payrex_secret_api_key)
# Create a PaymentIntent with amount and currency
payment_intent = payrex.payment_intents.create(
{
# Amount is in cents. The sample below is 100.00.
'amount': 10000,
'currency': 'PHP',
// highlight-start
'statement_descriptor': 'My Business',
// highlight-end
'payment_methods': [
'card',
'gcash',
'maya',
'qrph'
]
}
)
output = {
'client_secret': payment_intent.client_secret
}
print(output)
require "payrex-ruby"
# Protect your PayRex Secret API key at all costs. One common approach
# to store it in an environment variable.
# Add your PayRex test secret API key.
payrex_secret_api_key = ""
payrex = Payrex::Client.new(payrex_secret_api_key)
# Create a PaymentIntent with amount and currency
payment_intent = payrex.payment_intents.create(
# Amount is in cents. The sample below is 100.00.
amount: 10000,
currency: "PHP",
statement_descriptor: 'My Business',
payment_methods: [
"card",
"gcash",
"maya",
"qrph"
]
)
output = {
clientSecret: payment_intent.client_secret
}
puts output.to_json