Hey Mario,

It's still not entirely clear to me what the payment system expects.

We have experience with two different types of systems:
- systems that require the user's browser to be redirect to a payment
site where the user will have to confirm the transaction (sometimes
being redirect further to their online bank system for 3D
verification). E.g. this is how Paypal typically works.
- systems where you capture all the relevant information inside your
own web application, and you deal with the 3rd party payment system
purely using web services. The user does not leave your application.

In the first case, there are different variants, but typically it
involves use of static or dynamic WResource's to handle the redirect
from the third party system back to the wt application. This approach
is a bit more complicated with a Wt application because it's a
single-page application.

In the second case, it's quite simpler. You only need to a use a HTTP
client to interact with the 3rd party web services. As wim said, the
http client is asynchronous, but you can follow the pattern as
explained in the Http::Client documentation with deferRendering() and
resumeRendering() to fix easily integrate it in a Wt application. This
approach works okay as long as you expect the web services to respond
quickly. Otherwise it's better to user server push instead of
deferRendering() to not block your UI while you are waiting for the
web service to respond.

Regards,
koen

2015-08-10 19:59 GMT+02:00 Mario Diethelm Guallar <mariodiethe...@gmail.com>:
> Thank you Wim. I will work following your recommendations.
>
> As far as I understand, to use a WResource I should notify the third party
> CGI module (end_transaction) the suggestedFileName that I decide to assign
> to the WResource object (equivalent to the ASP script file name) and
> implement the handleRequest function to manage the request/response logic.
> What kind of DispossiontType should I use for the WResource (Inline or
> Attachment) ?
>
> Regarding the done() signal, if I am not misunderstanding your suggestion
> and the Http::Client example, the Wt library will trigger the done() signal
> when the running WServer receives the third party answer. Is that correct?
>
> Thanks again. Regards.
>
> ________________________
> Mario Diethelm Guallar
>
>
>
> ------ Original Message ------
> From: "Wim Dumon" <w...@emweb.be>
> To: "Mario Diethelm Guallar" <mariodiethe...@gmail.com>;
> witty-interest@lists.sourceforge.net
> Sent: 10-08-2015 07:25:43
> Subject: Re: [Wt-interest] HTTP question
>
>
> Hello Mario,
>
> To process the result, you can as well use a WResource from Wt instead of
> the ASP script.
>
> To know when the request was finished and to act on the response of a
> request, connect a method to the 'done()' signal of the client. See also the
> code example in Http::Client.
>
> Best regards,
> Wim.
>
>
> On 6 August 2015 at 01:15, Mario Diethelm Guallar <mariodiethe...@gmail.com>
> wrote:
>>
>> Hi,
>>
>> I am working on the integration of a Wt application (running on an IIS
>> server under Windows) with a third party local payment system. This payment
>> system uses two CGI modules to first start and then return payment
>> transaction results. In a nutshell it works as follows:
>>
>> - you have to call the first CGI module (start_transaction.cgi) from a
>> dynamic Web page using an HTTP POST method with some parameters that you
>> would normally get from the user (transaction amount, user account id and
>> stuff like that)
>> - the local payment system validates and processes the request and then a
>> second CGI module (end_transaction.cgi), informs back transaction results.
>> To do that, this second CGI module expects a dynamic Web page (.ASP, .PHP or
>> other similar) that is invoked by the end_transaction.cgi module and where
>> you can access transaction payment results and complete the transaction with
>> the corresponding answer acknowledge
>>
>> I am planning to use Wt:Http::Cient and Wt::Http::Message classes to
>> implement this application protocol and I would like to validate some of my
>> assumptions:
>>
>> - to activate the first CGI module, I am planning to use the
>> Wt::Http::Client post(url, message) function, where url is the web address
>> of start_transaction.cgi and message is a Wt::Http::Message object with all
>> the requested parameters loaded as "headers" (name, value pairs).
>> - to process the results, I am planning to build a little ASP script (the
>> one that will be used by end_transaction.cgi) that would recover all the
>> information from the answer and would send it back to the Wt application
>> using an HTTP POST method
>>
>> Does it make sense to you? As far as I understand the Wt::Http::Client
>> post is an asynchronous method so I am a little bit confused about how to be
>> sure if the first CGI module actually runs and what Http::Client method do I
>> have to use to get the answer from the ASP script processing the second CGI
>> module response. Is it possible, as an alternative answer processing method,
>> to inform the Wt running application as the dynamic Web page expected by
>> end_transaction.cgi? If this is feasible, what object and method do you have
>> to use to wait for this answer?
>>
>> I would appreciate your comments.
>>
>>
>> Thanks. Regards.
>>
>>
>> ________________________
>> Mario Diethelm Guallar
>>
>>
>>
>> ------------------------------------------------------------------------------
>>
>> _______________________________________________
>> witty-interest mailing list
>> witty-interest@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/witty-interest
>>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> witty-interest mailing list
> witty-interest@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/witty-interest
>

------------------------------------------------------------------------------
_______________________________________________
witty-interest mailing list
witty-interest@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/witty-interest

Reply via email to