To use custom fields with URL Tokens, create a custom field of the same type and same internal/developer name on both the URL_Tokens Object and Payment_Txn object.
For example, if you create a lookup field on the URL_Tokens to the contacts object with a name of “Trainer”, you also need to create a field with the same type/name on Payment Transactions. This would then allow entry of “Trainer” on the URL Token and when this URL Token record is used to make a payment, the Trainer entered will appear on the Payment Txn record created.
Note: Any custom fields need to be visible to the Sites user to be copied in this way. See this link for more details.