Skip to content

Module for interacting with the PayProp API via an interface

License

Notifications You must be signed in to change notification settings

payprop/api-client-public-module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

PayProp::API::Public::Client - PayProp API client.

SYNOPSIS

APIkey

    use PayProp::API::Public::Client;
    use PayProp::API::Public::Client::Authorization::APIKey;

    my $Client = PayProp::API::Public::Client->new(
            scheme => 'https',
            domain => 'https://staging-api.payprop.com', # relevant PayProp API domain

            authorization => PayProp::API::Public::Client::Authorization::APIKey->new(
                    token => 'API_KEY_HERE'
            ),
    );

    # export beneficiaries example
    my $export = $Client->export;
    my $beneficiaries_export = $export->beneficiaries;

    $beneficiaries_export
            ->list_p
            ->then( sub {
                    my ( \@beneficiaries ) = @_;
                    ...;
            } )
            ->wait
    ;

OAuth v2.0 Client (access token)

    use PayProp::API::Public::Client;
    use PayProp::API::Public::Client::Authorization::ClientCredentials;
    use PayProp::API::Public::Client::Authorization::Storage::Memcached;

    my $Client = PayProp::API::Public::Client->new(
            scheme => 'https',
            domain => 'API_DOMAIN.com',                                                        # relevant PayProp API domain

            authorization => PayProp::API::Public::Client::Authorization::ClientCredentials->new(
                    scheme => 'https',
                    domain => 'API_DOMAIN.com',                                                     # use relevant PayProp API domain

                    client => 'YourPayPropClientID',
                    secret => 'your-payprop-oauth2-client-id-secret',
                    application_user_id => '123',

                    storage => PayProp::API::Public::Client::Authorization::Storage::Memcached->new(
                            servers => [ qw/ memcached:11211 / ],                                       # Required: List of memcached servers.
                            encryption_secret => 'your-optional-encryption-key',
                            throw_on_storage_unavailable => 1,
                    ),
            ),
    );

    # export beneficiaries example
    my $Export = $Client->export;
    my $beneficiaries_export = $Export->beneficiaries;

    $beneficiaries_export
            ->list_p
            ->then( sub {
                    my ( \@beneficiaries ) = @_;
                    ...;
            } )
            ->wait
    ;

DESCRIPTION

The PayProp API Public Module is a standalone module that will allow you to interact with the PayProp API, through a normalised interface. This interface abstracts authentication methods, request and response building and more.

This module should be used to access various API requests as defined in PayProp::API::Public::Client::Request::*.

ATTRIBUTES

PayProp::API::Public::Client implements the following attributes.

export

    my $Export = $Client->export;
    my $beneficiaries_export = $Export->beneficiaries;

See PayProp::API::Public::Client::Request::Export for available attributes.

entity

    my $Entity = $Client->entity;
    my $payment_entity = $Entity->payment;

See PayProp::API::Public::Client::Request::Entity for available attributes.

tags

    my $Tags = $Client->tags;
    my $Promise = $Entity->list_p;

See PayProp::API::Public::Client::Request::Tags for available methods.

AUTHOR

Yanga Kandeni yangak@cpan.org

Valters Skrupskis malishew@cpan.org

COPYRIGHT

Copyright 2023- PayProp

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

If you would like to contribute documentation or file a bug report then please raise an issue / pull request:

https://github.com/Humanstate/api-client-public-module

About

Module for interacting with the PayProp API via an interface

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages