All Release Notes

Payment transactions can now be extended with Custom Fields

15 December 2021
Composable Commerce
HTTP API
Enhancement
GraphQLPaymentsExtensibility

You can now extend the Transaction object on the Payment resource with Custom Fields. With this, you can now store additional information, like refund details and taxed amounts, on the specific payment transaction.

Changes:

  • [API] Added custom field to Transaction, TransactionDraft, and MyTransactionDraft .
  • [API] Added update actions Set Transaction Custom Type and Set Transaction CustomField to Payments.
  • [API] Added Set Transaction CustomField update action to My Payments.
  • [GraphQL API] Added the following types to the GraphQL schema: SetPaymentTransactionCustomField, SetPaymentTransactionCustomType.
  • [GraphQL API] Changed the Transaction type:
    • Added the custom field to the Transaction type.
  • [GraphQL API] Changed the MyTransactionDraft type:
    • Input field custom was added to MyTransactionDraft type
  • [GraphQL API] Changed the TransactionDraft type:
    • Input field custom was added to TransactionDraft type
  • [GraphQL API] Changed the PaymentUpdateAction type:
    • Input field setTransactionCustomType was added to PaymentUpdateAction type
    • Input field setTransactionCustomField was added to PaymentUpdateAction type

The following changes were introduced in terms of GraphQL SDL:

extend type Transaction {
custom: CustomFieldsType
}
extend input MyTransactionDraft {
custom: CustomFieldsDraft
}
extend input TransactionDraft {
custom: CustomFieldsDraft
}
extend input PaymentUpdateAction {
setTransactionCustomField: SetPaymentTransactionCustomField
setTransactionCustomType: SetPaymentTransactionCustomType
}
input SetPaymentTransactionCustomField {
name: String!
value: String
transactionId: String!
}
input SetPaymentTransactionCustomType {
fields: [CustomFieldInput!]
type: ResourceIdentifierInput
typeKey: String
typeId: String
transactionId: String!
}