Business-OnlinePayment-BitPay-Client
view release on metacpan or search on metacpan
},
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
}
},
"runtime" : {
"requires" : {
"Business::OnlinePayment::BitPay::KeyUtils" : "0",
"Carp" : "0",
"HTTP::Request" : "0",
"IO::Socket::SSL" : "0",
"JSON" : "0",
"JSON::Parse" : "0",
"LWP::Protocol::https" : "0",
"LWP::UserAgent" : "0",
"Mozilla::CA" : "0",
"Net::SSLeay" : "0",
"String::Interpolate" : "0",
"Test::BDD::Cucumber::Loader" : "0",
"Test::BDD::Cucumber::StepFile" : "0",
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: Business-OnlinePayment-BitPay-Client
no_index:
directory:
- t
- inc
requires:
Business::OnlinePayment::BitPay::KeyUtils: '0'
Carp: '0'
HTTP::Request: '0'
IO::Socket::SSL: '0'
JSON: '0'
JSON::Parse: '0'
LWP::Protocol::https: '0'
LWP::UserAgent: '0'
Mozilla::CA: '0'
Net::SSLeay: '0'
String::Interpolate: '0'
Test::BDD::Cucumber::Loader: '0'
Test::BDD::Cucumber::StepFile: '0'
Makefile.PL view on Meta::CPAN
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'Business::OnlinePayment::BitPay::Client',
VERSION_FROM => 'lib/Business/OnlinePayment/BitPay/Client.pm',
PREREQ_PM => {
'Carp' => '0',
'Mozilla::CA' => '0',
'LWP::UserAgent' => '0',
'HTTP::Request' => '0',
'LWP::Protocol::https' => '0',
'Business::OnlinePayment::BitPay::KeyUtils' => '0',
'JSON' => '0',
'JSON::Parse' => '0',
'IO::Socket::SSL' => '0',
'Net::SSLeay' => '0',
'Test::Exception' => '0',
'Test::Fake::HTTPD' => '0',
'String::Interpolate' => '0',
'Test::BDD::Cucumber::Loader' => '0',
lib/Business/OnlinePayment/BitPay/Client.pm view on Meta::CPAN
package Business::OnlinePayment::BitPay::Client;
$VERSION = '2.3.1';
use Carp;
use warnings;
use Mozilla::CA;
use LWP::UserAgent;
use HTTP::Request;
use LWP::Protocol::https;
use Business::OnlinePayment::BitPay::KeyUtils;
use JSON;
use JSON::Parse 'parse_json';
require IO::Socket::SSL;
use Net::SSLeay;
use Data::Dumper;
sub new {
my $class = shift;
lib/Business/OnlinePayment/BitPay/Client.pm view on Meta::CPAN
return %{$data};
}
sub get{
my $self = shift;
my %opts = @_;
my $path = $opts{"path"};
my $public = $opts{"public"};
my $uri = $self->{apiUri} or croak "no api_uri exists for object";
$uri = $uri . "/" . $path;
my $request = HTTP::Request->new(GET => $uri);
$request->content($jsonc);
$request->header('content-type' => 'application/json');
$request->header('X-BitPay-Plugin-Info' => 'PerlLib');
$request->header('User-Agent' => 'perl-bitpay-client');
unless($public){
my $signature = Business::OnlinePayment::BitPay::KeyUtils::bpSignMessageWithPem($self->{pem}, $uri);
my $pubkey = Business::OnlinePayment::BitPay::KeyUtils::bpGetPublicKeyFromPem($self->{pem});
$request->header('X-Signature' => $signature, 'X-Identity' => $pubkey);
}
my $ua = LWP::UserAgent->new;
lib/Business/OnlinePayment/BitPay/Client.pm view on Meta::CPAN
croak "$code: $error";
}
sub post{
my $self = shift;
my %opts = @_;
my $path = $opts{"path"};
my %content = %{%opts->{"params"}};
my $uri = $self->{apiUri} or croak "no api_uri exists for object";
$uri = $uri . "/" . $path;
my $request = HTTP::Request->new(POST => $uri);
my $ua = LWP::UserAgent->new;
$ua->ssl_opts( verify_hostname=> 0, SSL_ca_file => Mozilla::CA::SSL_ca_file(), SSL_Version => 'TLSv2', SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE);
my $jsonc = encode_json \%content;
$request->content($jsonc);
$request->header('content-type' => 'application/json');
$request->header('X-BitPay-Plugin-Info' => 'PerlLib');
$request->header('User-Agent' => 'perl-bitpay-client');
if ($content{"token"}){
my $signature = Business::OnlinePayment::BitPay::KeyUtils::bpSignMessageWithPem($self->{pem}, $uri . $jsonc);
my $pubkey = Business::OnlinePayment::BitPay::KeyUtils::bpGetPublicKeyFromPem($self->{pem});
( run in 0.599 second using v1.01-cache-2.11-cpan-de7293f3b23 )