Skip to main content
When building the request to the PSP—body, headers, and status check—you can use {{...}} placeholders. Jelou replaces them at runtime with the real charge data.

Available placeholders

Checkout validity is fixed to a 30-hour window from creation — it isn’t configurable per gateway or per request yet.
Inside Check status with the PSP on return (and only there) {{transaction_id}} is also available. Use it in the URL, headers, or body of that request; without it, the status check wouldn’t distinguish between transactions.

Example body_template

Example body_template
In this example, {{apiKey}} is a credential declared in the wizard’s Credentials step; the rest are system placeholders listed above.

Conditional sections

The body template also supports simple conditional inclusion (no nesting or loops), useful for omitting fields with no value:
  • {{#field}}...{{/field}} — includes the content if field has a truthy value.
  • {{^field}}...{{/field}} — includes the content if field is falsy or empty.

Validation rules

  • Any {{...}} that isn’t on this page, isn’t a declared credential, or (only in status check) {{transaction_id}}, is treated as an unknown placeholder.
  • An unknown placeholder blocks saving in the wizard and in the backend.
If your body uses {{returnUrl}} and you did not enable status verification on return, every charge request must explicitly include the return URL, or Jelou rejects it.

Next steps

Create a custom gateway

Go back to the 6-step wizard to apply these placeholders.

Test the gateway

Check how your placeholders render before going to production.