Schedule a demo

API Reference

Field-level payment API reference. Public OpenAPI version 1.0.7009, checked .

This extract describes the published contract, not a production test or a guarantee that every operation is enabled for your account.

Read the publisher’s complete reference. Confirm the applicable contract version before implementation.

Environment and authentication

The listed payment operations use Authorization: Bearer <SHOP_API_KEY>. Obtain the key for your authorised environment; keep it on your server. No key prefix or rotation grace period is specified here.

  • Sandbox: https://psp-demo.viabanking.com
  • Production: https://psp.viabanking.com

API paths start with /api/v1/. Specification version 1.0.7009 and the URL version are different identifiers.

Endpoints

GET /api/v1/payments

Operation: getPayments. Documented HTTP responses: 200, 400, 401.

POST /api/v1/payments

Operation: createPayment. Documented HTTP responses: 200, 400, 401.

GET /api/v1/payments/{id}

Operation: checkStatus. Documented HTTP responses: 200, 401, 404.

GET /api/v1/payments/{id}/operations

Operation: getOperations. Documented HTTP responses: 200, 401, 404.

POST /api/v1/payment-methods/available

Operation: getPaymentMethod. Documented HTTP responses: 200, 400, 401, 404.

The creation operation describes deposit, payout and refund requests. Confirm permitted payment methods and operations for your account; the path alone does not establish licensed PIS or recurring-payment availability.

Request and response fields

WebhookResult

id
string · not marked required in schema
referenceId
string · not marked required in schema
paymentType
string · not marked required in schema
state
WebhookPaymentState · not marked required in schema
description
string · not marked required in schema
parentPaymentId
string · not marked required in schema
paymentMethod
PaymentMethod · not marked required in schema
paymentMethodDetails
PaymentMethodDetails · not marked required in schema
amount
number · not marked required in schema
currency
string · not marked required in schema
customerAmount
number · not marked required in schema
customerCurrency
string · not marked required in schema
redirectUrl
string · not marked required in schema
errorCode
string · not marked required in schema
externalResultCode
string · not marked required in schema
externalRefs
ExternalRefs · not marked required in schema
customer
Customer · not marked required in schema
billingAddress
BillingAddress · not marked required in schema
terminalName
string · not marked required in schema

UnifiedPaymentRequest

referenceId
string · not marked required in schema
parentPaymentId
string · not marked required in schema
paymentType
PaymentType · required
paymentMethod
PaymentMethod · not marked required in schema
amount
number · required
currency
string · required
description
string · not marked required in schema
customer
Customer · not marked required in schema
billingAddress
BillingAddress · not marked required in schema
receiver
Receiver · not marked required in schema
returnUrl
string · not marked required in schema
pendingReturnUrl
string · not marked required in schema
successReturnUrl
string · not marked required in schema
declineReturnUrl
string · not marked required in schema
webhookUrl
string · not marked required in schema
websiteUrl
string · not marked required in schema
additionalParameters
object · not marked required in schema

PaymentListResponse

timestamp
string · not marked required in schema
status
integer · not marked required in schema
hasMore
boolean · not marked required in schema
result
array · not marked required in schema

PaymentResponse

timestamp
string · not marked required in schema
status
integer · not marked required in schema
result
Result · not marked required in schema

Error

timestamp
string · not marked required in schema
status
number · not marked required in schema
error
string · not marked required in schema
message
string · not marked required in schema
errors
array · not marked required in schema
path
string · not marked required in schema

These are top-level fields. Read nested schemas, enums and conditional requirements in the complete reference before sending a request. Do not infer that optional fields are unnecessary for every payment method.

Pagination

GET /api/v1/payments uses offset (default 0) and limit (default 50, range 1–1000). The response includes hasMore. This is not cursor pagination.

Errors and safe retries

Use each operation’s response definitions; the Error schema has top-level fields rather than a nested error.code envelope. An HTTP 200 alone does not establish payment completion or credited funds.

Idempotency-Key scope, retention, retry limits and conflict handling are not established by the inspected contract. After a timeout or ambiguous write, reconcile the original operation before submitting another payment. Do not change a key simply to bypass a conflict. Obtain the supported deduplication procedure before enabling automatic write retries.

Webhooks

The payment request includes webhookUrl and the contract defines WebhookResult with state. The inspected contract does not define a payment.settled event catalogue, HMAC header, retry window or acknowledgement deadline.

Confirm callback authentication, acknowledgement, retries, ordering and duplicate handling with the integration owner. Do not treat an unverified callback or a state name as proof of settlement finality.

Scope to confirm before production

The inspected paths do not document generic /accounts, /consents or /banks APIs, recurring mandates, or a C2B credit-matching contract. This does not prove these capabilities are unavailable; request their applicable specification and enabled scope before relying on them.

Production checklist · Confirm your integration scope