Wednesday, May 18, 2011

What you Know about EDPOrder ?

Noting ?? no probs..
here is the answer.. .
  • An EDPOrder can be seen as a portion of the complete order container. The orders subsystem part is the one that handles order items, taxes, etc. The EDPOrder is the portion that handles the payments part only.
  • EDPOrder will provide the status of the task working on a payment action in backgroud
  • Copying from another blog
  • At the time of adding item to shopping cart ORDERS,ORDERITEMS and EDPORDER will get populate
  • Based on the customer payment selection in the order there is a payment instruction record will create in EDPPAYINST
  • In the code, EDP Order data is retrieved using the EDPServices as shown below.
  •  ---Rest is copyed from chetan;s blog.. here ..
    EDPOrderData edpOrderData = EDPServices.getServices().getOmfAccessor().getOMF().getEDPOrder(new Long(getOrderId()), Integer.valueOf(storeId));
    Long edpOrderId = edpOrderData.getOrderKey();

    We get the EDP order payment instructions through the following

    SortedSet pis = EDPServices.getServices().getOmfAccessor().getOMF().getPis(edpOrderId);

    Using the payment instruction returned, you can get the details like amount, payment method, etc.

    Orders data can be accessed using the websphere commerce OrderAccessBean and order details using OrderItemAccessBean

    There is a PPCPAYINST table which stores the value object Payment Instruction in WCS which contains information for payment plugins to process the final payments. Payments for a specific payment method can only be charged upto a maximum specified by the AMOUNT column in PPCPAYINST table. PPCEXTDATA contains non-standard data specific to a payment method. For example, paymentexpress might have some non-standard protocol data which is stored in here

  • Payment Tables 
  • POLICY
  • ORDPAYMTHD
  • ordpayinfo
  • paysummary
  • POLICYTYPE
  • EDPPAYINST
  • EDPORDER

  • Payment flow
  • Customer select payment method(VISA) from store front
  • OrderProcess invokes PrimePayment task command
  • select * from policy table where where policyname='visa'
  • update the EDPOrder table
  • PrimePayment task command calls the Payment rules engine
  • Payment rules engine determines the Action that needs to be performed
  • The Action (wrapped into event) is passed to the Payment plug-in-controller
  • The payment plug-in controller determines the plug-in to be used
  • The Action is invoked agaist the plug-in
  • The plug-in interacts with payment service provider 

  • All configures are there in 
  • xml/config/payment(s)/paymentmapping.xml,*.xml