Skip to content

Customer-safe view of a payment (poll this every 2–3 s while processing)

GET
/v1/public/payments/{id}
curl --request GET \
--url 'http://localhost:4000/v1/public/payments/example?cs=example'
id
required
string
cs
required

Payment client secret

string

Payment client secret

Payment

Media typeapplication/json
object
id
required
string
livemode
required
boolean
amount
required
integer
currency
required
string
status
required
string
Allowed values: requires_payment_method processing succeeded failed expired refunded
description
required
string | null
merchant
required
object
name
required
string
provider
required
string | null
Allowed values: wave orange_money mock
available_providers
required
Array<string>
Allowed values: wave orange_money
next_action
required
Any of:
object
type
required
string
Allowed values: redirect
url
required
string
expires_at
required
string
return_url
required

Where to send the customer once status is terminal

string | null
Example
{
"status": "requires_payment_method",
"provider": "wave",
"available_providers": [
"wave"
],
"next_action": {
"type": "redirect"
}
}

Validation error

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Not found

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Invalid state

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}

Rate limited; see Retry-After response header

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
details
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": "example"
}
}