Payment Methods
Retrieve available payment methods for your integration
List Available Payment Methods#
Returns the payment methods available for your service in a given country. Use this endpoint to check which payment methods your service supports before displaying options to users.
This endpoint requires Bearer authentication using your Client ID and Client Secret encoded in Base64.
/api/v1/payment-methods/availableQuery Parameters#
countryCodestringrequiredDZ, MA, TNRequired Headers#
AuthorizationstringrequiredBearer base64(client_id:client_secret)Response Fields#
data[].idstringrequireddata[].namestringrequireddata[].codestringrequiredpaymentMethodCode when creating a payment intent.data[].displayNamestringrequireddata[].imagestringrequiredFiltering by Country
countryCode to get the relevant options for your user.curl "https://api.payment.yassir.io/api/v1/payment-methods/available?countryCode=DZ" \
-H "Authorization: Bearer $(echo -n 'your_client_id:your_client_secret' | base64)" \
-H "x-platform: API"curl "https://api.payment.yassir.io/api/v1/payment-methods/available?countryCode=DZ" \
-H "Authorization: Bearer $(echo -n 'your_client_id:your_client_secret' | base64)" \
-H "x-platform: API"{
"code": 200,
"status": "success",
"message": "payment methods listed successfully",
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Yassir Cash",
"code": "WALLET_V2",
"displayName": "Yassir Cash",
"image": "https://assets.yassir.com/wallet-logo.png"
}
]
}{
"code": 200,
"status": "success",
"message": "payment methods listed successfully",
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Yassir Cash",
"code": "WALLET_V2",
"displayName": "Yassir Cash",
"image": "https://assets.yassir.com/wallet-logo.png"
}
]
}List Payment Methods (with User Context)#
Returns payment methods with user-specific information such as wallet balance. Use this endpoint when you have a payment intent and want to show personalized payment options to the user.
This list also includes the user's saved cards as individual selectable items (alongside the payment method types such as WALLET_V2 for Yassir Cash and the card method). A saved card is identified by paymentOptionType: "card" and a display name like visa *** 3456; its id is the cardId you pass when charging a saved card. The /available endpoint above does not include saved cards.
/api/v1/payment-methodsTwo ways to authenticate this endpoint
- From your web page / SDK (
merchant_auth): your publishable key (Authorization: Bearer pk_yassir_...) plus the payment'sx-client-secret. - On behalf of a signed-in customer (
user_auth): the customer's access token inx-client-token— nox-client-secretneeded.
Query Parameters#
amountnumberrequiredactionCurrencyCodestringoptionalDZD, MADactionCountryCodestringoptionalRequired Headers#
AuthorizationstringrequiredBearer pk_yassir_... (merchant_auth). It pairs with x-client-secret below — see Authentication.x-client-secretstringrequiredx-servicestringrequiredx-country-codestringrequiredDZAx-platformstringrequiredAPIWEBANDROIDIOSx-localestringoptionalen_US, fr_FR, ar_DZGetting the Client Secret#
The x-client-secret is returned in the response when you create a payment intent:
// Create a payment intent first
const intent = await fetch("/api/v1/payments/intents?countryCode=DZA", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
actionId: "unique-order-id",
amount: 2500,
actionCurrencyCode: "DZD",
actionCountryCode: "DZA",
userId: "+213555123456",
}),
});
const { data } = await intent.json();
// data.clientSecret => "pa_xxxxxxxx_secret_xxxxxxxx"
// Use this as the x-client-secret header// Create a payment intent first
const intent = await fetch("/api/v1/payments/intents?countryCode=DZA", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
actionId: "unique-order-id",
amount: 2500,
actionCurrencyCode: "DZD",
actionCountryCode: "DZA",
userId: "+213555123456",
}),
});
const { data } = await intent.json();
// data.clientSecret => "pa_xxxxxxxx_secret_xxxxxxxx"
// Use this as the x-client-secret headerResponse Fields#
data[].idstringrequireddata[].namestringrequireddata[].codestringrequiredpaymentMethodCode when proceeding with payment.data[].displayNamestringrequiredx-locale header.data[].imagestringrequireddata[].balancenumberoptionalWALLET_V2).data[].currencystringoptionaldata[].paymentOptionTypestringoptionalcard marks one of the user's saved cards; wallet marks the wallet. For a saved card, id is the cardId to use when proceeding with a payment.walletpaymentMethodcardcurl "https://api.payment.yassir.io/api/v1/payment-methods?amount=2500" \
-H "Authorization: Bearer pk_yassir_a1b2c3d4e5f67890a1b2c3d4e5f67890" \
-H "x-client-secret: pa_xxxxxxxx_secret_xxxxxxxx" \
-H "x-service: your-service-code" \
-H "x-country-code: DZA" \
-H "x-platform: WEB" \
-H "Origin: https://yourapp.com"curl "https://api.payment.yassir.io/api/v1/payment-methods?amount=2500" \
-H "Authorization: Bearer pk_yassir_a1b2c3d4e5f67890a1b2c3d4e5f67890" \
-H "x-client-secret: pa_xxxxxxxx_secret_xxxxxxxx" \
-H "x-service: your-service-code" \
-H "x-country-code: DZA" \
-H "x-platform: WEB" \
-H "Origin: https://yourapp.com"{
"code": 200,
"status": "success",
"message": "payment methods listed successfully",
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Yassir Cash",
"code": "WALLET_V2",
"displayName": "Yassir Cash",
"image": "https://assets.yassir.com/wallet-logo.png",
"balance": 15000,
"currency": "DZD",
"paymentOptionType": "wallet"
},
{
"id": "1330fa89-4115-43b1-b34d-0e3df2e6a5ba",
"name": "Card",
"code": "STRIPE",
"displayName": "Card",
"image": "https://assets.yassir.com/card-logo.png"
},
{
"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"name": "visa *** 3456",
"code": "STRIPE",
"image": "https://assets.yassir.com/card-logo.png",
"paymentOptionType": "card"
}
]
}{
"code": 200,
"status": "success",
"message": "payment methods listed successfully",
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Yassir Cash",
"code": "WALLET_V2",
"displayName": "Yassir Cash",
"image": "https://assets.yassir.com/wallet-logo.png",
"balance": 15000,
"currency": "DZD",
"paymentOptionType": "wallet"
},
{
"id": "1330fa89-4115-43b1-b34d-0e3df2e6a5ba",
"name": "Card",
"code": "STRIPE",
"displayName": "Card",
"image": "https://assets.yassir.com/card-logo.png"
},
{
"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"name": "visa *** 3456",
"code": "STRIPE",
"image": "https://assets.yassir.com/card-logo.png",
"paymentOptionType": "card"
}
]
}