Every merchant has a contract with secupay, or even multiple ones for different purposes. The API offers an object called General Contract to access the contract. The awkward details are managed behind the scenes by our system. What's important is that you will receive one or multiple General Contract IDs (GCR_xxx) and information how to use them. You need to manage to use the right contract ID for the right purpose.
The Payment Transaction manages the payment process between secupay and your customer, as well as between secupay and you, the merchant. It is defined by the payer and the payee, the payment method and the amount, and if needed a number of options.
A Smart Transaction manages a business transaction, like a purchase order for instance. If this includes one of our payment or loyalty services, it also manages the life cycle of the Payment Transaction or Loyalty Transactions. Furthermore it manages the checkout process, and can track the fullfilment of an order.
The Payment Customer holds customer data like name and address, e-mail and phone number. It can be used to set a billing address or delivery address. You can pass the customer details to the Smart Transaction. Then the Payment Customer is created for you. But you can also create it explicitely, and pass the object ID. Payment customers can be reused as long as the details did not change.
The Payment Container is an object that holds a payment instrument for you. It can be passed when you create a Payment Transaction, or when you let the Smart Transaction do this for you. Usually a Payment Container is associated with a Payment Customer, and can only be used together with it. Payment Containers can also be reused in order to offer the customer an express checkout experience.