List a provider's catalog
Lists the products the provider sells, read from the store or a payment source's endpoint, with the mappings of each to products.
Store products already mapped stay listed after the store removed them. The store's answer is cached until the provider changes; refresh=true reads it again. isUnmapped=true keeps only the store products without a mapping, isUnmapped=false only those with one; map one with POST .../payment-providers/{paymentProviderId}/products.
Guide: Payment providers
A project secret key: vh_sk_... for production, vh_sk_test_... for test. Keep it on your servers.
In: header
Path parameters
The project's id, proj_.... A secret key works only in the project it belongs to.
The id of the project's payment provider connection, pp_conf_....
Query parameters
Where the page starts: the pageInfo.endCursor of the previous page. Omit it for the first page.
How many items to return, from 1 to 100. Defaults to 50.
1 <= value <= 100true keeps only the store products no product is mapped to, false only those with a mapping.
Value in
- "true"
- "false"
true reads the catalog from the store again instead of the copy cached until the provider changes.
Value in
- "true"
- "false"
Examples
curl -X GET "https://api.voidhash.com/api/v1/projects/proj_tz4a98xxat96iws9zmbrgj3a/payment-providers/pp_conf_k2v8d4m1x7c9b3n6q0w5e2r8/catalog" \ -H "Authorization: Bearer vh_sk_..."{ "data": [ { "providerProductKey": "com.example.pro_annual", "name": "Pro (annual)", "configuration": { "productId": "com.example.pro_annual" }, "mappings": [] }, { "providerProductKey": "com.example.pro_monthly", "name": "Pro (monthly)", "configuration": { "productId": "com.example.pro_monthly" }, "mappings": [ { "id": "pp_prod_q4w8e2r6t1y5u9i3o7p0a2s6", "productId": "prod_x8k2m5q9v3n7c1z4w6e0r2t5", "isActive": true, "environment": "all" } ] } ], "pageInfo": { "endCursor": null, "hasNextPage": false }}{ "error": { "type": "invalid_request", "code": "invalid_query", "message": "The request query is invalid: Expected a finite number\n at [\"limit\"]" }}{ "error": { "type": "unauthenticated", "code": "invalid_api_key", "message": "This secret key is not valid." }}{ "error": { "type": "permission_denied", "code": "permission_denied", "message": "Insufficient permissions." }}{ "error": { "type": "not_found", "code": "payment_provider_not_found", "message": "This project has no payment provider pp_conf_k2v8d4m1x7c9b3n6q0w5e2r8.", "param": "paymentProviderId" }}{ "error": { "type": "internal", "code": "internal_error", "message": "Something went wrong on our side. Try again, and contact support with the Request-Id header if it keeps failing." }}Response body
application/json
application/json
application/json
application/json
application/json
application/json
Errors
| Status | type | code | When |
|---|---|---|---|
| 404 | not_found | payment_provider_not_found | — |
It can also fail with the errors every operation shares, such as unauthenticated; see Errors.
More in Payment providers
Something wrong or missing on this page? Tell us by email or on Discord.