Physical card shipping
Physical cards are Not yet available through the API. This page lists the shipping address rules that apply when they are.
Status. Not yet available. Contact support before you offer physical cards.
This page lists the shipping address rules for physical cards. Today a physical card cannot make a payment:
- In sandbox, the API refuses a physical card request with
card creation failed!and leaves an empty card row that you cannot use. - In live, the card starts
inactive, and there is no API call to activate it.
Issue virtual cards instead.
A money example. Ada wants a plastic card for a 60 USD restaurant bill. Until physical cards are available, you issue her a virtual card with a 300 USD daily limit and she pays with it from her phone.
Shipping address rules
A physical card request (Create a card with card_type physical) needs shipping_address:
| Field | Rule |
|---|---|
address_line1 |
Required, up to 255 characters |
city |
Required, up to 100 characters |
state |
Optional, up to 100 characters |
postal_code |
Required. Send it as a string, so it keeps its leading zeros |
country_code |
Required. 2 capital letters, such as NG or US |
phone_number |
Required, 10 to 20 characters, with the country code |
method |
Required. One of standard, express, international, apc, uspsInternational, overnight |
Gravv ignores address_line2, so put the whole street address in address_line1.
{
"address_line1": "12 Admiralty Way",
"city": "Lagos",
"state": "Lagos",
"postal_code": "106104",
"country_code": "NG",
"phone_number": "+2348031234567",
"method": "international"
}
Gravv has not yet published which countries and methods a card can ship to.
What can go wrong
| Response | Why | Fix |
|---|---|---|
400 shipping_address is required for a physical card |
The request has no address | Send shipping_address |
400 Method must be one of: standard express international apc uspsInternational overnight |
method is not an allowed value |
Use an allowed value |
400 PostalCode is required |
postal_code is missing or null |
Send it as a string |
400 CountryISOCode must be a valid ISO 3166-1 alpha-2 country code |
The code has 3 letters or is lower case | Send 2 capital letters, such as NG or US |
400 PhoneNumber must be at least 10 |
The number is too short | Send the full number with the country code |
400 card creation failed! |
The card program refused the card. In sandbox, this happens to every physical request today | Issue a virtual card and ignore the empty row |