Class: ActiveMerchant::Billing::PlugnpayGateway
- Defined in:
- lib/active_merchant/billing/gateways/plugnpay.rb
Defined Under Namespace
Classes: PlugnpayPostData
Constant Summary collapse
- URL =
'https://pay1.plugnpay.com/payment/pnpremote.cgi'
- CARD_CODE_MESSAGES =
{ "M" => "Card verification number matched", "N" => "Card verification number didn't match", "P" => "Card verification number was not processed", "S" => "Card verification number should be on card but was not indicated", "U" => "Issuer was not certified for card verification" }
- CARD_CODE_ERRORS =
%w( N S )
- AVS_MESSAGES =
{ "A" => "Street address matches billing information, zip/postal code does not", "B" => "Address information not provided for address verification check", "E" => "Address verification service error", "G" => "Non-U.S. card-issuing bank", "N" => "Neither street address nor zip/postal match billing information", "P" => "Address verification not applicable for this transaction", "R" => "Payment gateway was unavailable or timed out", "S" => "Address verification service not supported by issuer", "U" => "Address information is unavailable", "W" => "9-digit zip/postal code matches billing information, street address does not", "X" => "Street address and 9-digit zip/postal code matches billing information", "Y" => "Street address and 5-digit zip/postal code matches billing information", "Z" => "5-digit zip/postal code matches billing information, street address does not", }
- AVS_ERRORS =
%w( A E N R W Z )
- PAYMENT_GATEWAY_RESPONSES =
{ "P01" => "AVS Mismatch Failure", "P02" => "CVV2 Mismatch Failure", "P21" => "Transaction may not be marked", "P30" => "Test Tran. Bad Card", "P35" => "Test Tran. Problem", "P40" => "Username already exists", "P41" => "Username is blank", "P50" => "Fraud Screen Failure", "P51" => "Missing PIN Code", "P52" => "Invalid Bank Acct. No.", "P53" => "Invalid Bank Routing No.", "P54" => "Invalid/Missing Check No.", "P55" => "Invalid Credit Card No.", "P56" => "Invalid CVV2/CVC2 No.", "P57" => "Expired. CC Exp. Date", "P58" => "Missing Data", "P59" => "Missing Email Address", "P60" => "Zip Code does not match Billing State.", "P61" => "Invalid Billing Zip Code", "P62" => "Zip Code does not match Shipping State.", "P63" => "Invalid Shipping Zip Code", "P64" => "Invalid Credit Card CVV2/CVC2 Format.", "P65" => "Maximum number of attempts has been exceeded.", "P66" => "Credit Card number has been flagged and can not be used to access this service.", "P67" => "IP Address is on Blocked List.", "P68" => "Billing country does not match ipaddress country.", "P69" => "US based ipaddresses are currently blocked.", "P70" => "Credit Cards issued from this bank are currently not being accepted.", "P71" => "Credit Cards issued from this bank are currently not being accepted.", "P72" => "Daily volume exceeded.", "P73" => "Too many transactions within allotted time.", "P91" => "Missing/incorrect password", "P92" => "Account not configured for mobil administration", "P93" => "IP Not registered to username.", "P94" => "Mode not permitted for this account.", "P95" => "Currently Blank", "P96" => "Currently Blank", "P97" => "Processor not responding", "P98" => "Missing merchant/publisher name", "P99" => "Currently Blank" }
- TRANSACTIONS =
{ :authorization => 'auth', :purchase => 'auth', :capture => 'mark', :void => 'void', :refund => 'return', :credit => 'newreturn' }
- SUCCESS_CODES =
[ 'pending', 'success' ]
- FAILURE_CODES =
[ 'badcard', 'fraud' ]
Constants inherited from Gateway
Constants included from PostsData
PostsData::MAX_RETRIES, PostsData::OPEN_TIMEOUT, PostsData::READ_TIMEOUT
Instance Attribute Summary
Attributes inherited from Gateway
Instance Method Summary collapse
- #authorize(money, creditcard, options = {}) ⇒ Object
- #capture(money, authorization, options = {}) ⇒ Object
- #credit(money, identification_or_creditcard, options = {}) ⇒ Object
-
#initialize(options = {}) ⇒ PlugnpayGateway
constructor
A new instance of PlugnpayGateway.
- #purchase(money, creditcard, options = {}) ⇒ Object
- #void(authorization, options = {}) ⇒ Object
Methods inherited from Gateway
Methods included from Utils
Methods included from CreditCardFormatting
Methods included from RequiresParameters
Methods included from PostsData
included, #retry_exceptions, #ssl_post
Constructor Details
#initialize(options = {}) ⇒ PlugnpayGateway
Returns a new instance of PlugnpayGateway.
102 103 104 105 106 |
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 102 def initialize( = {}) requires!(, :login, :password) @options = super end |
Instance Method Details
#authorize(money, creditcard, options = {}) ⇒ Object
121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 121 def (money, creditcard, = {}) post = PlugnpayPostData.new add_amount(post, money, ) add_creditcard(post, creditcard) add_addresses(post, ) add_invoice_data(post, ) add_customer_data(post, ) post[:authtype] = 'authonly' commit(:authorization, post) end |
#capture(money, authorization, options = {}) ⇒ Object
134 135 136 137 138 139 140 141 142 143 |
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 134 def capture(money, , = {}) post = PlugnpayPostData.new post[:orderID] = add_amount(post, money, ) add_customer_data(post, ) commit(:capture, post) end |
#credit(money, identification_or_creditcard, options = {}) ⇒ Object
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 154 def credit(money, identification_or_creditcard, = {}) post = PlugnpayPostData.new add_amount(post, money, ) if identification_or_creditcard.is_a?(String) post[:orderID] = identification_or_creditcard commit(:refund, post) else add_creditcard(post, identification_or_creditcard) add_addresses(post, ) add_customer_data(post, ) commit(:credit, post) end end |
#purchase(money, creditcard, options = {}) ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 108 def purchase(money, creditcard, = {}) post = PlugnpayPostData.new add_amount(post, money, ) add_creditcard(post, creditcard) add_addresses(post, ) add_invoice_data(post, ) add_customer_data(post, ) post[:authtype] = 'authpostauth' commit(:authorization, post) end |
#void(authorization, options = {}) ⇒ Object
145 146 147 148 149 150 151 152 |
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 145 def void(, = {}) post = PlugnpayPostData.new post[:orderID] = post[:txn_type] = 'auth' commit(:void, post) end |