Carrier Billing

SMART_CARRIER_BILLING

The SMART_CARRIER_BILLING payment method allows users to make purchases directly through their mobile phone carrier. This is a widely adopted option in regions with high mobile penetration and low credit card usage, making it ideal for gaming, entertainment, and digital services.

The solution abstracts complex integrations with multiple telecom operators and third-party aggregators, providing a unified API for consistent and simplified carrier billing experiences across markets. It supports both one-time payments and recurring subscriptions.


Supported Carrier Billing Methods

MethodMarkets SupportedNotes
BokuGlobalOne-click payments, SMS-based billing, and direct billing. Supports recurring subscriptions.
FortumoEurope, LATAM, Asia, AfricaLocal integrations enabling direct-to-carrier billing.
DOCOMOJapanSeamlessly integrated with Japanese telecom networks.
Smart, GlobePhilippinesSupports SMS-based payments and direct API carrier billing.
TelkomselIndonesiaEnables mobile billing with local regulatory compliance.
MTN, VodacomAfrica (Nigeria, South Africa, etc.)Provides USSD or SMS billing, varying by country and operator.
TelenorScandinavia, Eastern EuropePopular for premium content and subscription billing.

Payload Fields

FieldTypeRequired?Description
paymentMethodApmMethodYesMust always be set to SMART_CARRIER_BILLING.
paymentTypeApmFlowTypeYesMust always be CARRIER_BILLING.
msisdnStringRequiredThe user’s mobile phone number in E.164 international format (e.g., +1234567890).
accountIdentifierStringOptionalInternal identifier for mapping recurring payments or tracking references.
customerNameStringOptionalThe full name of the customer for verification or record-keeping purposes.
mobileOperatorStringOptionalName of the mobile carrier (e.g., MTN, Vodafone).
operatorCountryCodeStringOptionalISO Alpha-2 country code for the mobile operator (e.g., US, NG).
recurringIdStringOptionalUnique identifier used for subscription renewals or linked recurring billing profiles.

Response Fields

FieldTypeRequired?Description
paymentMethodApmMethodYesAlways returns SMART_CARRIER_BILLING.
paymentTypeApmFlowTypeYesAlways returns CARRIER_BILLING.
redirectUrlString?OptionalURL where the user is redirected to the carrier’s page to complete the payment flow.
iframeUrlString?OptionalURL for an embedded iframe checkout experience (if the carrier supports it).
providerTransactionIdStringYesUnique identifier for the transaction as assigned by the carrier or aggregator.
sessionTokenString?OptionalToken used for resuming an interrupted session or performing follow-up requests.
carrierMetadataMap<String, String>?OptionalAdditional carrier-specific information (e.g., billing flow type, operator details) useful for reconciliation or reporting.

Best Practices

  • Phone Number Standardization: Always normalize and store msisdn values in E.164 format for cross-market consistency.
  • Validation: Validate the mobile number and ensure it matches the allowed carriers and countries supported by your integration.
  • Recurring Billing: Store and reuse the recurringId for subscription management and automated renewals.
  • Metadata Usage: Leverage carrierMetadata to capture extra information like operator-specific billing references, which aids in reconciliation, dispute resolution, and advanced reporting.