NAME

Business::OnlinePayment::HTTPS - Base class for HTTPS payment APIs

SYNOPSIS

package Business::OnlinePayment::MyProcessor;
use base qw(Business::OnlinePayment::HTTPS);

sub submit {
    my $self = shift;

    #...

    # pass a list (order is preserved, if your gateway needs that)
    ( $page, $response, %reply_headers )
        = $self->https_get( field => 'value', ... );

    # or a hashref
    my %hash = ( field => 'value', ... );
    ( $page, $response_code, %reply_headers )
          = $self->https_get( \%hash );

    #...
}

DESCRIPTION

This is a base class for HTTPS based gateways, providing useful code for implementors of HTTPS payment APIs.

It depends on Net::HTTPS::Any, which in turn depends on Net::SSLeay _or_ ( Crypt::SSLeay and LWP::UserAgent ).

METHODS

https_get [ \%options ] HASHREF | FIELD => VALUE, ...

Accepts parameters as either a hashref or a list of fields and values. In the latter case, ordering is preserved (see Tie::IxHash to do so when passing a hashref).

Returns a list consisting of the page content as a string, the HTTP response code and message (i.e. "200 OK" or "404 Not Found"), and a list of key/value pairs representing the HTTP response headers.

The options hashref supports setting headers:

{
    headers => { 'X-Header1' => 'value', ... },
}
https_post [ \%options ] SCALAR | HASHREF | FIELD => VALUE, ...

Accepts form fields and values as either a hashref or a list. In the latter case, ordering is preserved (see Tie::IxHash to do so when passing a hashref).

Also accepts instead a simple scalar containing the raw content.

Returns a list consisting of the page content as a string, the HTTP response code and message (i.e. "200 OK" or "404 Not Found"), and a list of key/value pairs representing the HTTP response headers.

The options hashref supports setting headers and Content-Type:

{
    headers => { 'X-Header1' => 'value', ... },
    Content-Type => 'text/namevalue',
}

SEE ALSO

Business::OnlinePayment, Net::HTTPS::Any