an ASP.NET Open Source CMS & eCommerce platform
Search:
Last Post 12/15/2010 1:31:06 AM By masande. 21 replies.
Page 1 of 3 (22 posts) << First < Prev 1 2 3 Next > Last >> 
3/24/2010 1:45:39 PM
masande
Posts: 26
Joined: 10/29/2009
3rd Party Payment Gateway
Hi Luke
 
I am looking to integrate DSC with the payment gateway provided by http://www.payfast.co.za/  Part  of the implementaion involves redirecting to the payfast iframe for transaction authorisation and settlement and redirecing to DSC with the response messge. Would it be possible to implement this with DSC ?
 
Regards
 
Masande
3/24/2010 1:56:48 PM
lukezy
Posts: 2109
Joined: 6/12/2007
Location:WA, US
Re: 3rd Party Payment Gateway
Nothing is impossible. It's software. Do you have a direct link to the PayFast integration doc? I can take a quick look and give you some suggestions.
DotShoppingCart Staff
3/24/2010 2:09:09 PM
masande
Posts: 26
Joined: 10/29/2009
Re: 3rd Party Payment Gateway
there isnt a downloaded document but here is the link to their API documentation ; http://www.payfast.co.za/c/std/integration-guide
11/2/2010 6:04:35 PM
masande
Posts: 26
Joined: 10/29/2009
Re: 3rd Party Payment Gateway
 Hi Luke
 
We've finally decided to go integrate our site with a payment gateway called PayGate. Ive gone as far as creating a paymentprovider class inheriting CreditCardPaymentProvider and implementing the gateway specific code in the AuthorizeOrSale method. Ive also added the 3rd party gateway to the enum in the paymenttransaction file and updating the payment_gateway_type lookup table accordingly. What I havent done so far is to update the DSC.config file's orderPipelineConfiguration section to set the process the pipeline service should follow.
 
I suspect it should be done as pasted below but need to confirm that with you
 
<add name="PayGate">
                <processors>
                    <clear />
                    <add name="OrderConfirmationEmail" />
                    <add name="InventoryStockCheck" />
                    <add name="CreditCardCapture" />
                    <add name="OrderPackageAndShip" />
                    <add name="OrderCompleteEmail" />
                </processors>
            </add>
 
The questions I have in this regard are;
 
1.What part of the code does the name attribute value ("PayGate") have to correspond with ?
2.Id like to skip the call to the capture method in the payment provider and go directly to the AuthorizeOrSale method to authorize and settle a transaction in one step, how can I achieve this ?
 
 
11/3/2010 9:33:05 AM
lukezy
Posts: 2109
Joined: 6/12/2007
Location:WA, US
Re: 3rd Party Payment Gateway
If it derives from CreditCardPaymentProvider, I assume it's a credit card payment gateway. Then you don't need a seperate orderPipelineConfiguration. It will use the existing "CreditCard" configuration. You just need to drop the assembly to web\bin folder and OrderPipeline service folder.
 
If you wish to do authorize and capture all at once, you can change DotShoppingCart.Commercial.OrderPipelineService.exe.config.
 
    <orderPipelineServiceConfiguration defaultProvider="">
        <providers>
            <add name="CreditCardAuthorizationtype="DotShoppingCart.Commercial.OrderPipeline.CreditCardProcessorProvider, DotShoppingCart.Commercial.OrderPipeline"  action="Authorization" />
            <add name="CreditCardCapturetype="DotShoppingCart.Commercial.OrderPipeline.CreditCardProcessorProvider, DotShoppingCart.Commercial.OrderPipeline"  action="Capture" />
 
to
    <orderPipelineServiceConfiguration defaultProvider="">
        <providers>
            <add name="CreditCardSaletype="DotShoppingCart.Commercial.OrderPipeline.CreditCardProcessorProvider, DotShoppingCart.Commercial.OrderPipeline"  action="Sale" />
DotShoppingCart Staff
11/3/2010 11:47:27 AM
masande
Posts: 26
Joined: 10/29/2009
Re: 3rd Party Payment Gateway
Thanks Luke, Ill implement as recommended above
11/9/2010 1:43:10 PM
masande
Posts: 26
Joined: 10/29/2009
Re: 3rd Party Payment Gateway
 Hi Luke 
 
I implemented everything as recommended above and tested all the relevant payment provider transaction scenarios successfully (with the exception of the Refund transaction as this can only be tested in the retail version only) on the open source version of DSC assembly I created.I then upgraded the assembly to the Commercial version and ported it to my live site and there it simply doesnt work at all and to add to that an order confirmation email is sent regardless of the fact that no financial transaction tool place.I also noticed that the order of states that an order goes through differs between the opensource and retail version and I dont know whether that has anything to do with this issue. I tried to you use fiddler to diagnose where the problem might be and did not get any answers from going in that direction either.Your assistance in getting to the bottom of this will be much appreciated. Im willing to forward you the implementation of the payment provider assembly if you'd like to have a look.
11/9/2010 2:19:57 PM
lukezy
Posts: 2109
Joined: 6/12/2007
Location:WA, US
Re: 3rd Party Payment Gateway
The Commericial edition is using Windows service to do order processing. Did you update DotShoppingCart.Commercial.OrderPipelineService.exe.config in which folder the Windows service is located?
DotShoppingCart Staff
11/9/2010 2:38:34 PM
masande
Posts: 26
Joined: 10/29/2009
Re: 3rd Party Payment Gateway
 yes  I dropped a copy of the assembly both in the folder where the  orderpipeline service exe is and the web\bin folder.There are no errors both in the event log and on the app after an order is processed.
11/9/2010 3:01:52 PM
lukezy
Posts: 2109
Joined: 6/12/2007
Location:WA, US
Re: 3rd Party Payment Gateway
I am asking if you updated the config file.
DotShoppingCart Staff
11/10/2010 12:35:46 AM
masande
Posts: 26
Joined: 10/29/2009
Re: 3rd Party Payment Gateway
 yes I did. I commented out CreditCardCapture and CreditCardAuthorization and added the CreditCardSale config key
 
<!--            <add name="CreditCardAuthorization" type="DotShoppingCart.Commercial.OrderPipeline.CreditCardProcessorProvider, DotShoppingCart.Commercial.OrderPipeline" action="Authorization" />
            <add name="CreditCardCapture" type="DotShoppingCart.Commercial.OrderPipeline.CreditCardProcessorProvider, DotShoppingCart.Commercial.OrderPipeline" action="Capture" />-->
<add name="CreditCardSale" type="DotShoppingCart.Commercial.OrderPipeline.CreditCardProcessorProvider, DotShoppingCart.Commercial.OrderPipeline" action="Sale" />
 
the creditCardPaymentServiceConfiguration in the DSC.config is as seen below;
 
<creditCardPaymentServiceConfiguration defaultProvider="PayGate">
        <providers>
            <clear />
            <add host="dsc" name="Don't accept Credit Card" type="DotShoppingCart.Commercial.Payment.NullCreditCardPaymentProvider,                        DotShoppingCart.Commercial.Payment.CreditCardPayment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
            <add host="dsc" name="Offline Credit Card Payment" type="DotShoppingCart.Commercial.Payment.OfflineCreditCardPaymentProvider,     DotShoppingCart.Commercial.Payment.OfflineCreditCardPaymentProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
            <add testTransaction="True" pgid="10011021600" pwd="test" host="dsc"
                name="PayGate" type="DotShoppingCart.Commercial.Payment.PayGatePaymentProvider, DotShoppingCart.Commercial.Payment.PayGatePaymentProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        </providers>
</creditCardPaymentServiceConfiguration>
Page 1 of 3 (22 posts) << First < Prev 1 2 3 Next > Last >>