Which identifiers does a payment carry, and which should I quote?
Four, and they are not interchangeable:
When you raise a ticket, lead with
Order Id. Your own order ID is useful as a cross-check but is
not unique across the platform, so on its own it is slower to trace.
Refunds carry their own set — see below.
Which timestamps does a payment carry, and why are there three?
They separate deliberately: an order created just before midnight and paid just after it has a
creation timestamp on one day and a payment date on the next. Reconcile against
Payment Date when
you are matching a payout, and against Created Datetime when you are investigating order volume
or a limit rejection — the daily transaction limit counts from creation, as described in
Payin Agreements & Transaction Limits.
An unset timestamp renders as -, so an unpaid order shows a creation time and dashes for the other
two.
A refund shows two merchant order IDs. Which is which?
They are different objects, and confusing them is the most common reconciliation error:
So to trace a refund back to the sale, use
Merchant Original Order ID. To trace your own refund
instruction, use Merchant Order Id.
Merchant Original Order ID appears on the refund list, on the refund detail’s merchant
information block, and in refund exports. Where the value is absent the Portal shows -.
The Waffo-side identifiers sit alongside them: the refund’s own acquiring order ID, the refund
request ID, and — where the refund came from a batch — a Refund Batch ID, which is - for a
single refund.
Can I search refunds by the original payment’s order ID?
Yes.merchantOriginalOrderId is one of the fields in the refund list’s combined search selector,
and it matches exactly — not as a prefix or a substring. Paste the full original order ID.
If it returns nothing, check that you are searching the original payment’s ID and not the refund’s
own, and that the value has no trailing whitespace.
Why is the Refund button missing or greyed out?
There are three states, and they mean different things:
When the button is greyed out, one of these five conditions has failed:
Note that in-progress refunds count in the last two. A refund you submitted seconds ago already
consumes both a slot and its amount, which is why the button can grey out before anything has
settled.
The refund panel and the order detail both show
Remaining Refundable Amount so you can see the
third figure directly. Which payment methods support refunds at all is on your
Payin agreement page.
Users without the refund permission never see the button regardless of the above — see
Merchant Portal Operations.
What is the Initiation Type column?
Initiation Type classifies who triggered a card transaction:
It is a per-transaction attribute, so it lives on the payment list and not on aggregate views.
Why is Initiation Type always showing a dash?
Because the value is only populated when you filter by it. This is by design, not a gap in your data:
So the column is a confirmation of your filter, not a browsable attribute. To see the split, run
the query twice — once for each value — rather than scanning an unfiltered list.
The column is also only present for accounts contracted for subscriptions, since that is where the
distinction carries weight. If it is not in your list at all, that is why.
Which card details does a payment record show?
On the payment detail’s payment-information block, where the payment method is a card:
Every one of these rows is omitted when it has no value — the block does not show empty labels.
So a missing
Issuing bank row means that datum was not available for that transaction, not that
the field was removed. Non-card payment methods show none of the card rows.
The values are those recorded against that transaction. They are not refreshed afterwards, so two
transactions on the same card taken at different times can legitimately differ.
Cardholder name is personal data about your customer. Treat it accordingly in anything you export
or store.
How is the card number masked?
First 6 digits, then asterisks, then the last 4 — for example a 16-digit number shows six digits, six asterisks and four digits. Shorter values degrade safely: a value of 6 to 9 characters shows the first 6 and asterisks for the rest; anything shorter is shown unchanged. The full number is never available in the Portal or in exports, and there is no setting that reveals it. If you need to match a card across transactions, use the masked value together with the expiry date and scheme rather than expecting a full number.Why does an amount show as a dash?
The Portal renders an amount only when it has both a number and a currency. If either is missing, the cell shows-.
This is worth knowing because - therefore does not mean zero. A genuine zero renders as a
formatted 0.00 with its currency code; a dash means the pair was not available.
How are amounts and currencies formatted?
If you are parsing exported figures, parse against the code, not a symbol, and do not assume the
separator convention follows the Portal language setting.
Why is there no Settlement Status column on the payments list?
There is not one on main. The payments list carries the order’s own status, its creation and payment timestamps, and — where relevant — its subscription ID, but not a settlement state. Settlement status is available on the Disputes list, where it is both a column and a filter. For payment-level settlement information, work from the settlement reports rather than the transaction list: see Settlement reports and Settlement cycle.What are Order Failure Code and Order Failure Description?
They appear only on orders that failed, and they are the two halves of the same answer: a stable code you can branch on in your own systems, and a human-readable description of it. Use the code for logic and the description for support conversations. Common failure causes and what to do about them are collected in Errors & troubleshooting and, for limit rejections specifically, in Payin Agreements & Transaction Limits.Why does a payment record show a subscription ID?
Because the payment was taken under a subscription. The payment list carries the related subscription ID so a single charge can be traced back to the agreement that produced it; it is-
on one-off payments.
Going the other way — from a subscription to its charges — is covered in
Subscription lifecycle management.
Which fee figures does a payment record show?
The payment detail carries aFees block with the fee charged on that transaction, as an amount
plus its fee currency. Your fee basis — percentage, flat, floors and ceilings — is not on the
transaction; it is on your
Payin agreement page.
For how fees behave when a payment is refunded, including partial refunds, see
Refund FAQ.
The Portal shows a dash where the docs mention a field. Is data missing?
Usually not. The Portal deliberately renders- rather than N/A, an empty cell, or a zero in
three distinct situations, and telling them apart saves a support ticket:
None of the three is recoverable by re-opening the record. Where the second applies, re-run the
query with the relevant filter.