Using inheritance, you are able to re-use details from a previous transaction when processing subsequent requests. This is achieved by including the transaction reference of a previous request (the parent) in a new request (the child).
The parent transaction reference is submitted in the parenttransactionreference field. When submitted, you will not have to re-submit the majority of values submitted in the parent transaction (e.g. billing address, delivery address and payment details) as these will be inherited from the parent. This is especially useful when performing refunds or re-authorisations, as this means you don’t have to needlessly submit the same information multiple times.
When we specify a field as required in our specification, this infers that the field must be present, be it submitted directly in the request or inherited from a parent.
If you submit a child request immediately after the parent, you may be returned a “20004 Missing parent” error. If this happens, please wait a few seconds and retry.
Additional considerations
While most fields are inherited by the child request, there can be minor variations in inheritance behaviour, depending on the request types, account types and the specific acquiring bank involved. If your implementation relies on certain inherited fields being present, we recommend contacting our Support Team to clarify which fields will be inherited, based on your configuration.