Skip to content

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.

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
}

Discovery returns only providers assigned to your account, and an account with none assigned discovers nothing. Ask PayHero to enable the providers you need.

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.