Order relationship in atg furniture

order relationship in atg furniture

The following diagram shows the relationships between the objects involved in processing a package tankekraft.infoe; import tankekraft.info Jan 7, HardgoodShippingGroup and tankekraft.info checks out, then relationship objects are created between the commerce items in the order and these groups. Store the ProfileID in ownerId field of the new address. atg/EStore/src/Java/atg/projects/store/order/purchase/StoreCartFormHandler. Order;. import tankekraft.infoonship;. import tankekraft.info

Either split the entire cost by using PaymentGroupOrderRelationships, or assign different types of costs such as item cost vs. These relationship types assign the order and tax amounts to different PaymentGroups. This relationship type indicates that a specific amount of the total cost of the Order including CommerceItems, ShippingGroups, and tax will be paid using the information in the PaymentGroup. The amount must be greater than zero.

If the relationship amount is greater than the total amount of the Order, then the cost of the entire Order will be paid using the referenced PaymentGroup. This relationship type indicates that the remaining cost of the Order unaccounted for by other PaymentGroupOrderRelationship objects will be paid using the information in the PaymentGroup. This relationship type indicates that a specific amount of the tax charged for the Order will be paid using the information in the PaymentGroup.

If the relationship amount is greater than the total amount of the Order, then all the tax will be paid for using the referenced PaymentGroup.

This relationship type indicates that the tax cost unaccounted for by other PaymentGroupOrderRelationship objects will be paid using the information in the referenced PaymentGroup. The customer wants to pay for the order using two credit cards Visa and MasterCard.

Immuraliraj-TechTalks: ATG Commerce Basic Checkout Process

A different PaymentGroup represents each credit card. Two relationships are created to split the payment: The relationship type is set to OrderAmountRemaining. Example 2 The following example describes how to use the TaxAmountRemaining type.

order relationship in atg furniture

The customer wants to pay for the tax with a separate credit card than the rest of the order payment. The relationship type is set to TaxAmountRemaining, which covers whatever the tax amount turns out to be.

This relationship type is used to split payment for a single CommerceItem between multiple payment groups. If the amount is greater than the total amount of the item stored in the CommerceItem, then the entire cost of the item will be paid for using the referenced PaymentGroup. This relationship type indicates that any remaining payment amount unaccounted for by other PaymentGroupCommerceItemRelationship objects will be paid using the information in the PaymentGroup.

Commerce Programming Guide

If there is only one relationship between a given CommerceItem and a PaymentGroup of type PaymentAmountRemaining, then the entire cost of that item will be paid for using the information in the PaymentGroup. The customer wants to split the payment of this item between three credit cards Visa, MasterCard, and American Express.

The relationship type is set to PaymentAmountRemaining. This relationship type indicates that a specific amount of the shipping cost will be paid using the information in the PaymentGroup.

order relationship in atg furniture

If the amount is greater than the total amount of the item stored in the ShippingGroup, then the cost of the entire item will be paid using the referenced PaymentGroup. This relationship type indicates that any remaining shipping cost amount unaccounted for by other PaymentGroupShippingGroupRelationship objects will be paid using the information in the PaymentGroup. If there is only one relationship between a given ShippingGroup and a PaymentGroup of type PaymentAmountRemaining, then the entire shipping cost will be paid using the information in the PaymentGroup.

For example, an order is shipped to one location stored in a ShippingGroup. The customer wants to pay for the shipping costs with a credit card. For the StorePoints PaymentGroup, you need to implement similar processors -- a pipeline processor to create the XXXInfo object for the StorePoints PaymentGroup, a second pipeline processor to authorize, debit, and credit the StorePoints PaymentGroup, and a processor that implements a StorePointsProcessor interface and actually performs the payment operations.

First, write the StorePointsProcessor interface that defines the authorizedebitand credit methods for the StorePoints PaymentGroup, as shown in the following code example. Note that the authorize, debit, and credit methods of the StorePointsProcessor interface all return a StorePointsStatus object, which represents the transaction on the StorePoints PaymentGroup. This object is discussed in more detail later in this section. StorePointsProcessorImpl must work with the resources needed to carry out the transactions.

For a different custom payment method, the implementation must work with whatever 3rd-party resources are needed to carry out the transactions. The following code sample is taken from the StorePointsProcessorImpl class, an example of an implementation of the StorePointsProcessor interface.

Note in the code sample that the authorize, debit, and credit methods of StorePointsProcessorImpl all return a PaymentStatus object, which represents the results of transaction performed by the pipeline. Recall that a PaymentStatus object contains properties such as amount, errorMessage, transactionId, transactionSuccess, and transactionTimestamp. It is discussed in more detail later in this section. You might call this pipeline processor class ProcProcessStorePoints.

Because the implementation will be called within the context of a pipeline, it must also implement the atg. Oracle ATG Web Commerce provides an abstract class that implements both the PipelineProcessor interface and several other helper methods that determine what action is requested authorize, debit, or credit and then dispatch to the appropriate method call.

This abstract class is atg.

ATG Commerce Programming Guide

By extending ProcProcessPaymentGroup, you only need to define three abstract methods: These methods should call through to their respective methods in the StorePointsProcessorImpl object, passing in the data from the PaymentManagerPipelineArgs object that is supplied as a parameter. Additionally, ProcProcessStorePoints should include an additional property named storePointsProcessor that can be set to the StorePointsProcessor object that actually performs the payment operations.

In this example, ProcProcessStorePoints. This keeps the payment processors independent of the commerce objects in Commerce.

order relationship in atg furniture

Instead, before the ProcProcessStorePoints pipeline processor is invoked, a previous pipeline processor must aggregate the necessary information for performing the requested payment action, create an XXXInfo object for use in that action, and finally add the XXXInfo object to the PaymentManagerPipelineArgs Dictionary object. The following code sample is an example of the StorePointsInfo class. PipelineProcessor interface because the implementation will be called within the context of a pipeline.

The specific list to which it is added depends on the operation.