← Back to Mobile app developers
See how it helps
1. Barion Smart Gateway (
2. OTP SimplePay v2 (
Barion and SimplePay payments
Integrates Hungarian payment gateways with server-verified outcomes, callback protection and accurate handling of transaction amounts and recurring tokens.
barion-simplepay-integration
Team members using this skill
When is it useful?
Use it when checkout uses Barion or SimplePay and browser returns can arrive independently of the authoritative payment notification.
What does it help you do?
- Verifies Barion status through the server API.
- Checks SimplePay message signatures and separates IPN from redirects.
- Checks amount totals and recurring payment token handling.
Try asking this
Handle duplicate payment callbacks without granting the purchase twice. Send the same notification twice and alter the returned amount in a separate test. Only a verified matching payment may grant access.
Detailed documentation
Read the skill’s original instructions, examples and checks in their authored language.
Show less
Barion & SimplePay Integration
Hungarian payment gateways (Barion and OTP SimplePay) have specific protocol requirements around callbacks vs. browser redirects, signature verification, currency formatting and card-on-file recurring token consent.
1. Barion Smart Gateway (/v2/Payment/Start & /v2/Payment/GetPaymentState)
- Starting a payment (
/v2/Payment/Start):- Send
POSKey(server-side secret only),PaymentType: "Immediate"(or"Reservation"),PaymentWindow,GuestCheckOut: true,FundingSources: ["All"],PaymentRequestId(your internal unique payment attempt ID),RedirectUrl(browser return URL) andCallbackUrl(server-to-server webhook URL). - Include accurate item breakdowns (
Itemsarray withName,Description,Quantity,Unit,UnitPrice,ItemTotal) matching the transactionTotal.
- Send
- Barion Callback (Webhook) Pattern:
- Barion's
CallbackUrlreceives only a lightweight notification (paymentIdquery/form parameter) indicating that the payment state changed. - Mandatory verification: on receiving the callback (or when the user returns to
RedirectUrl), your server must callGET /v2/Payment/GetPaymentState?POSKey=...&PaymentId=...to fetch the authoritativeStatus(Prepared,Started,InProgress,Succeeded,Canceled,Expired,Failed). - Grant entitlements only when
GetPaymentStatereturnsStatus === "Succeeded"andPaymentRequestIdmatches your internal order.
- Barion's
- Recurring / Tokenized Payments in Barion:
- For subscriptions or one-click payments, pass
InitiateRecurrence: trueand a uniqueRecurrenceIdon the initial citizen-present payment (with explicit user consent in the UI), then useRecurrenceType: "RecurringPayment"(or"MerchantInitiatedPayment") with trace IDs on subsequent charges.
- For subscriptions or one-click payments, pass
2. OTP SimplePay v2 (/v2/start, IPN & /v2/query)
- HMAC-SHA384 Signature on Every Message:
- SimplePay signs every JSON request and response using HMAC-SHA384 with your merchant secret key (per currency merchant account: HUF, EUR, USD often have separate
merchantIDs and secret keys!). - Compute and verify the base64-encoded HMAC-SHA384
Signatureheader against the exact raw JSON body string before parsing.
- SimplePay signs every JSON request and response using HMAC-SHA384 with your merchant secret key (per currency merchant account: HUF, EUR, USD often have separate
- IPN (Instant Payment Notification) vs.
backRedirect:- Browser return (
backURLrparameter) is Base64-encoded JSON for displaying UI status only — never fulfill orders solely fromback! - IPN Handler: when SimplePay POSTs to your IPN endpoint (
status: "FINISHED"), verify theSignatureheader, add areceiveDateISO timestamp to the JSON payload, sign the response body with HMAC-SHA384 in the responseSignatureheader, and return HTTP 200. - Active Query (
/v2/query): if IPN is delayed or browser return arrives first, call/v2/querywithorderRef/transactionIdto check authoritative status (FINISHED,TIMEOUT,CANCEL,FAIL).
- Browser return (
3. Hungarian Market & Regulatory Requirements
- Mandatory Customer Transparency: both Barion and SimplePay onboarding/audit checklists require displaying the official payment provider logo/information banner, clear terms of service, recurring billing terms (if applicable) and accurate transaction failure details (
transactionIdshown to the user on failed payment). - Currency & Decimals: for
HUF, send whole integer amounts (unless specific decimal item pricing is required), and verify that sum of line items equals transaction total.
Included files 1
SKILL.md
