No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/Net
t
.gitignore
Changes
MANIFEST
Makefile.PL
README.md

README.md

NAME

Net::Payjp

VERSION

version 0.1.4

SYNOPSIS

# Create charge
my $payjp = Net::Payjp->new(api_key => $API_KEY);
my $card = {
  number => '4242424242424242',
  exp_month => '02',
  exp_year => '2020',
  address_zip => '2020014'
};
my $res = $payjp->charge->create(
  card => $card,
  amount => 3500,
  currency => 'jpy',
  description => 'test charge',
);
if(my $e = $res->error){
  print "Error";
  print $e->{message}."\n";
}

# Retrieve a charge
$payjp->id($res->id); # Set id of charge
$res = $payjp->charge->retrieve; # or $payjp->charge->retrieve($res->id);

DESCRIPTION

This module is a wrapper around the Pay.jp HTTP API.Methods are generally named after the object name and the acquisition method.

This method returns json objects for responses from the API.

METHODS

new PARAMHASH

This creates a new Payjp api object. The following parameters are accepted:

###api_key This is required. You get this from your account settings on PAY.JP.

ATTRIBUTES

api_key

Reader: api_key

Type: Str

This attribute is required.

Charge Methods

create

Create a new charge

http://docs.pay.jp/docs/charge-create

my $card = {
  number => '4242424242424242',
  exp_month => '02',
  exp_year => '2020',
  address_zip => '2020014'
};
$payjp->charge->create(
  card => $card,
  amount => 3500,
  currency => 'jpy',
  description => 'yakiimo',
);

retrieve

Retrieve a charge

http://docs.pay.jp/docs/charge-retrieve

$payjp->charge->retrieve('ch_fa990a4c10672a93053a774730b0a');

save

Update a charge

http://docs.pay.jp/docs/charge-update

$payjp->id('ch_fa990a4c10672a93053a774730b0a');
$payjp->charge->save(description => 'update description.');

refund

Refund a charge

http://docs.pay.jp/docs/charge-refund

$payjp->id('ch_fa990a4c10672a93053a774730b0a');
$payjp->charge->refund(amount => 1000, refund_reason => 'test.');

capture

Capture a charge

http://docs.pay.jp/docs/charge-capture

$payjp->id('ch_fa990a4c10672a93053a774730b0a');
$payjp->charge->capture(amount => 2000);

all

Returns the charge list

http://docs.pay.jp/docs/charge-list

$payjp->charge->all("limit" => 2, "offset" => 1);

Customer Methods

create

Create a cumtomer

http://docs.pay.jp/docs/customer-create

$payjp->customer->create(
  "description" => "test",
);

retrieve

Retrieve a customer

http://docs.pay.jp/docs/customer-retrieve

$payjp->customer->retrieve('cus_121673955bd7aa144de5a8f6c262');

save

Update a customer

http://docs.pay.jp/docs/customer-update

$payjp->id('cus_121673955bd7aa144de5a8f6c262');
$payjp->customer->save(email => 'test@test.jp');

delete

Delete a customer

http://docs.pay.jp/docs/customer-delete

$payjp->id('cus_121673955bd7aa144de5a8f6c262');
$payjp->customer->delete;

all

Returns the customer list

http://docs.pay.jp/docs/customer-list

$res = $payjp->customer->all(limit => 2, offset => 1);

Cutomer card Methods

Returns a customer's card object

my $card = $payjp->customer->card('cus_4df4b5ed720933f4fb9e28857517');

create

Create a customer's card

http://docs.pay.jp/docs/customer-card-create

$card->create(
  number => '4242424242424242',
  exp_year => '2020',
  exp_month => '02'
);

retrieve

Retrieve a customer's card

http://docs.pay.jp/docs/customer-card-retrieve

$card->retrieve('car_f7d9fa98594dc7c2e42bfcd641ff');

save

Update a customer's card

http://docs.pay.jp/docs/customer-card-update

$card->id('car_f7d9fa98594dc7c2e42bfcd641ff');
$card->save(exp_year => "2026", exp_month => "05", name => 'test');

delete

Delete a customer's card

http://docs.pay.jp/docs/customer-card-delete

$card->id('car_f7d9fa98594dc7c2e42bfcd641ff');
$card->delete;

all

Returns the customer's card list

http://docs.pay.jp/docs/customer-card-list

$card->all(limit => 2, offset => 0);

Customer subscription Methods

Returns a customer's subscription object

my $subscription = $payjp->customer->subscription('sub_567a1e44562932ec1a7682d746e0');

retrieve

Retrieve a customer's subscription

http://docs.pay.jp/docs/customer-subscription-retrieve

$subscription->retrieve('sub_567a1e44562932ec1a7682d746e0');

all

Returns the customer's subscription list

http://docs.pay.jp/docs/customer-subscription-list

$subscription->all(limit => 1, offset => 0);

Plan Methods

create

Create a plan

http://docs.pay.jp/docs/plan

$payjp->plan->create(
  amount => 500,
  currency => "jpy",
  interval => "month",
  trial_days => 30,
  name => 'test_plan'
);

retrieve

Retrieve a plan

http://docs.pay.jp/docs/plan-retrieve

$payjp->plan->retrieve('pln_45dd3268a18b2837d52861716260');

save

Update a plan

http://docs.pay.jp/docs/plan-update

$payjp->id('pln_45dd3268a18b2837d52861716260');
$payjp->plan->save(name => 'NewPlan');

delete

Delete a plan

http://docs.pay.jp/docs/plan-delete

$payjp->id('pln_45dd3268a18b2837d52861716260');
$payjp->plan->delete;

all

Returns the plan list

http://docs.pay.jp/docs/plan-list

$payjp->plan->all("limit" => 5, "offset" => 0);

Subscription Methods

create

Create a subscription

http://docs.pay.jp/docs/subscription-create

$payjp->subscription->create(
  customer => 'cus_4df4b5ed720933f4fb9e28857517',
  plan => 'pln_9589006d14aad86aafeceac06b60'
);

retrieve

Retrieve a subscription

http://docs.pay.jp/docs/subscription-retrieve

$payjp->subscription->retrieve('sub_567a1e44562932ec1a7682d746e0');

save

Update a subscription

http://docs.pay.jp/docs/subscription-update

$payjp->id('sub_567a1e44562932ec1a7682d746e0');
$payjp->subscription->save(trial_end => 1473911903);

pause

Pause a subscription

http://docs.pay.jp/docs/subscription-pause

$payjp->id('sub_567a1e44562932ec1a7682d746e0');
$payjp->subscription->pause;

resume

Resume a subscription

http://docs.pay.jp/docs/subscription-resume

$payjp->id('sub_567a1e44562932ec1a7682d746e0');
$payjp->subscription->resume;

cancel

Cancel a subscription

http://docs.pay.jp/docs/subscription-cancel

$payjp->id('sub_567a1e44562932ec1a7682d746e0');
$payjp->subscription->cancel;

delete

Delete a subscription

http://docs.pay.jp/docs/subscription-delete

$payjp->id('sub_567a1e44562932ec1a7682d746e0');
$payjp->subscription->delete;

all

Returns the subscription list

http://docs.pay.jp/docs/subscription-list

$payjp->subscription->all(limit => 3, offset => 0);

Token Methods

create

Create a token

http://docs.pay.jp/docs/token-create

my $card = {
  number => '4242424242424242',
  cvc => "1234",
  exp_month => "02",
  exp_year =>"2020"
};
$payjp->token->create(
  card => $card,
);

retrieve

Retrieve a token

http://docs.pay.jp/docs/token-retrieve

$payjp->token->retrieve('tok_eff34b780cbebd61e87f09ecc9c6');

Transfer Methods

retrieve

Retrieve a transfer

http://docs.pay.jp/docs/transfer-retrieve

$payjp->transfer->retrieve('tr_8f0c0fe2c9f8a47f9d18f03959ba1');

all

Returns the transfer list

http://docs.pay.jp/docs/transfer-list

$res = $payjp->transfer->all("limit" => 3, offset => 0);

charges

Returns the charge list

http://docs.pay.jp/docs/transfer-charge-list

$payjp->transfer->charges(
  limit => 3,
  offset => 0
);

Event Methods

retrieve

Retrieve a event

http://docs.pay.jp/docs/retrieve-event

$res = $payjp->event->retrieve('evnt_2f7436fe0017098bc8d22221d1e');

all

Returns the event list

http://docs.pay.jp/docs/event-list

$payjp->event->all(limit => 10, offset => 0);

Account Methods

retrieve

Retrieve a account

http://docs.pay.jp/docs/account-retrieve

$payjp->account->retrieve;

use package

need to install the following package

$ cmanm package
or
$ perl -MCPAN -e shell
cpan> install package
  • LWP::UserAgent
  • LWP::Protocol::https
  • HTTP::Request::Common
  • JSON
  • Test::More

Perl version

ver.10 or higher is required

SEE ALSO

AUTHORS

BASE, Inc.

COPYRIGHT AND LICENSE

This software is copyright (c) 2015 by BASE, Inc.

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