Provider codes
Providers are identified on the API by a short code. Discovery answers with
codes, and payments accept them in provider.
{ "provider": "yc" }Always copy the code from discovery rather than hard-coding a list — discovery only returns the providers your account can use.
| Code | Legacy numeric code |
|---|---|
yc |
1001 |
viewtech |
1002 |
bitpay |
1003 |
isend |
1004 |
pesapal |
1005 |
vabupay |
1006 |
cwyre |
1007 |
rcore |
1008 |
qk |
1011 |
tnd |
1012 |
lpd |
1013 |
pch |
1014 |
Codes are permanent: a code is never reassigned. Store it against your own records if you need to.
Backwards compatibility
Section titled “Backwards compatibility”Nothing existing breaks:
- The numeric codes above still resolve on a payment.
- Provider names sent before codes existed are still accepted on a payment.
New integrations should send the code. An unrecognised value is rejected:
{ "error_code": "invalid_argument", "error_message": "provider \"nope\" is not a known provider code", "status_code": 400}Access
Section titled “Access”Discovery returns only providers assigned to your account, and an account with none assigned discovers nothing. Ask PayHero to enable the providers you need.
Deprecated discovery endpoints
Section titled “Deprecated discovery endpoints”These predate codes. They still work unchanged and answer with provider names, ignoring which providers your account is assigned:
| Deprecated | Use instead |
|---|---|
GET /api/global/discovery/payment-world/country |
GET /api/global/discovery/discover-rails |
GET /api/global/discovery/payment-world |
GET /api/global/discovery/discover-rails |
Their responses carry a Deprecation: true header and a Link header pointing at
the replacement. They keep working until announced otherwise.

