Table of Contents

Payments Object & Records

Sarto Jama Updated by Sarto Jama

What is the Payments Object?

When you activate E-Commerce, a special "Payments" object is added to your Knack app:

The Payments object contains special fields that store all the information about each payment. Every time a user submits a payment through the live application, those details will be stored as a new record in the Payments object.

You can read more about using E-commerce with your app here.

Manage the Payments Object

Fields

The Payments object contains special fields for storing specific information about each payment. Each Payments object will include the following fields:

Charge
  • Field Type: Text Combo
  • Description: Joins the Status, Amount, and Date field. This is the display field for the Payment record.
Amount
  • Field Type: Currency
  • Description: The total payment amount in a currency format.
Date
  • Field Type: Date/Time
  • Description: Exact time of transaction.
Status
  • Field Type: Multiple Choice
  • Description: Status of the processor transaction.
    • Complete - The payment processor has successfully charged the user for the total amount.
    • Failed - The payment processor was not able to complete the transaction. More details will be found in the Notes field
    • Pending - A PayPal payment has been initiated, but not yet completed. The status will update once the user takes further action.
Source
  • Field Type: Short Text
  • Description: The name of the view that created the Payment record.
Processor
  • Field Type: Short Text
  • Description: The payment processor used to create the Payment record.
ID
  • Field Type: Short Text
  • Description: The payment ID generated by the payment processor. Can be used to track the actual payment with the processor.
IP Address
  • Field Type: Short Text
  • Description: The IP Address of the user when the Payment record was created.
Description
  • Field Type: Short Text
  • Description: Provides details about a transaction.
Notes
  • Field Type: Short Text
  • Description: Provides details about a failed transaction.
Account
  • Field Type: Connection
  • Description: The user record that was charged the payment, if available.
These fields cannot be modified or deleted

The Payment object otherwise acts like a normal object; you can add additional fields or run scheduled tasks if necessary. For example adding a conditional Fiscal Year field to group your payments in your views.

Records

When a user submits their payment information from a payment view, a payment record is created in the Payments object storing the details of that payment. You can view Payment records by clicking on the Records icon above the fields list or selecting the "Records" tab on the left side navigation:

A Payment record is created any time a payment view is submitted, regardless of whether it was successful or not. This allows you to track any failed or pending payments, as stored in the Status field.

Connections

Payment records will always be connected from the record that initiated the payment view.

The first time you enable E-Commerce for an object, a "Payment" connection field will be created in that object:

One-to-one Connections

By default, these payment connections are created as one-to-one connections. This means that each form submission will connect with exactly one payment record.

With a one-to-one connection, any new payments made on a record will replace any existing connected payment.

Many-to-one Connections

You can edit this connection field to a many-to-one connection if needed. This may be desirable if you need to accept multiple payments for a single record, like splitting payments for a large invoice.

With a many-to-one connection, any new payments will be added to any existing connected payments. This way multiple payments can be connected to the record.

You can learn more about working with connections here.

Notes & Troubleshooting

Limitations

  • The Payments object is a special type of object that does not have all of the same flexibilities that a regular object does.
  • When using Stripe, "Customer" information under your Stripe login will only come through if a Live App user has used a saved Payment Method. If you need the customer name to come through for every transaction - whether they've used a stored payment method or not - you'll want to use a Text Formula field to combine multiple text fields needed into one description field.

Record Creation

A payment record can only be created through a payment view submission. You can not create records through the Knack builder.

Form Rules

Payment records are not accessible in any type of Form Rule (Submit, Display, Record).

How did we do?

Payment Processors

Payment Views

Contact