# 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 - http://docs.pay.jp - https://github.com/payjp/user-docs # 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.