Payyd Docs

API Areas

Differences and Notes

Hosted vs S2S vs Payout quick decision guide.

Flow Comparison

Area Who Owns UI Main Input Best For
Payin Hosted Payyd-hosted page PayinCreateTransactionInput Fast integration with minimal checkout backend complexity.
Payin S2S Your backend / custom UI PayinS2sPayTransactionInput Custom UX, strict validation control, advanced orchestration.
Payout Your backend PayoutCreateTransactionInput Outbound transfers to receiver bank accounts.

Operational Notes

  • Always store both reference and internalRef.
  • Use country ISO2 for create transaction and ISO3 for country metadata APIs.
  • For S2S, fetch payment methods and ID types dynamically by country.
  • Apply idempotency in your own system by controlling unique references.
  • Do not expose API keys or secret keys to client-side code.
  • paymentRedirectUrl is optional on payin create inputs when you need a dedicated post-checkout redirect target.
  • For payout create, bankBranchCode is optional, but the SDK preserves it as null in signed payloads when it is not available.

Common Errors

Error Type Thrown By Meaning
GraphQLError SDK execution layer GraphQL returned valid response with errors array.
GraphQLRequestError HTTP / network / payload parsing HTTP error, timeout, or malformed response object.
InvalidArgumentException Model validation Required field missing or invalid before request is sent.
Note on country rules: S2S local validation rules are controlled by the SDK rule table. Keep SDK versions aligned across languages so validation behavior stays consistent.