curl --request GET \
--url https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.get("https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods")
.header("Authorization", "Bearer <token>")
.asString();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"data": {
"data": [
{
"id": 42017,
"resource": "payment-method",
"type": "sepa-debit",
"status": "active",
"isDefault": true,
"mandateReference": "EXAMPLE-MANDATE-REF",
"ibanLast4": "3000",
"bankCode": "37040044",
"bankCountry": "DE",
"acceptedAt": "2026-10-23T10:12:00Z",
"setupExpiresAt": null,
"deactivatedReasonClass": null,
"createdAt": "2026-10-23T10:05:00Z",
"updatedAt": "2026-10-23T10:12:30Z",
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/billing/payment-methods/42017",
"type": "application/json"
}
}
}
],
"page": 1,
"perPage": 25,
"totalPages": 1,
"total": 1
}
}List payment methods
Lists your SEPA Direct Debit mandates (masked: IBAN last 4 only): at most one active mandate and at most one setup in progress, plus inactive and setup-failed ones. Removed mandates are left out unless filter[status] asks for removed. See SEPA Direct Debit mandate.
Required permissions: view-consumer-billing · API keys: allowed
curl --request GET \
--url https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.get("https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods")
.header("Authorization", "Bearer <token>")
.asString();package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.voucher-staging.allride.io/consumer/v1/billing/payment-methods",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"data": {
"data": [
{
"id": 42017,
"resource": "payment-method",
"type": "sepa-debit",
"status": "active",
"isDefault": true,
"mandateReference": "EXAMPLE-MANDATE-REF",
"ibanLast4": "3000",
"bankCode": "37040044",
"bankCountry": "DE",
"acceptedAt": "2026-10-23T10:12:00Z",
"setupExpiresAt": null,
"deactivatedReasonClass": null,
"createdAt": "2026-10-23T10:05:00Z",
"updatedAt": "2026-10-23T10:12:30Z",
"_links": {
"self": {
"href": "https://api.voucher.allride.io/consumer/v1/billing/payment-methods/42017",
"type": "application/json"
}
}
}
],
"page": 1,
"perPage": 25,
"totalPages": 1,
"total": 1
}
}Authorizations
Your API key in Authorization: Bearer <key>. Use vk_test_… keys against the sandbox and vk_live_… keys against production.
Query Parameters
Page number, 1-100,000 (default 1). Outside the range: 400 data-failed-validation with the constraint invalid-page.
1 <= x <= 100000Items per page, 1-100 (default 25). Outside the range: 400 data-failed-validation with the constraint invalid-page.
1 <= x <= 100One sort field; prefix - for descending (sort=field or sort=-field). Allowed: createdAt, acceptedAt. Default -createdAt. The server appends id as a tie-breaker.
"-createdAt"
Status (equals).
setup-pending, active, inactive, removed, setup-failed Status (one of (comma-separated)). Comma-separated values.
Default method (equals).
Creation time (download key) (greater than).
Creation time (download key) (greater than or equal).
Creation time (download key) (less than).
Creation time (download key) (less than or equal).
Response
OK
Page envelope of PaymentMethod items.
The page.
Show child attributes
Show child attributes