Class: ActiveMerchant::Billing::PlugnpayGateway
- Inherits:
-
Gateway
- Object
- Gateway
- ActiveMerchant::Billing::PlugnpayGateway
show all
- Defined in:
- lib/active_merchant/billing/gateways/plugnpay.rb
Defined Under Namespace
Classes: PlugnpayPostData
Constant Summary
collapse
- 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
Gateway::CREDIT_DEPRECATION_MESSAGE, Gateway::CURRENCIES_WITHOUT_FRACTIONS, Gateway::DEBIT_CARDS, Gateway::RECURRING_DEPRECATION_MESSAGE, Gateway::STANDARD_ERROR_CODE
Instance Attribute Summary
Attributes inherited from Gateway
#options
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
-
#refund(money, reference, options = {}) ⇒ Object
-
#void(authorization, options = {}) ⇒ Object
Methods inherited from Gateway
#card_brand, card_brand, #generate_unique_id, inherited, non_fractional_currency?, #scrub, supported_countries, #supported_countries, supported_countries=, supports?, #supports_network_tokenization?, #supports_scrubbing?, #test?
#format
Methods included from PostsData
included, #raw_ssl_request, #ssl_get, #ssl_post, #ssl_request
Constructor Details
Returns a new instance of PlugnpayGateway.
100
101
102
103
|
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 100
def initialize(options = {})
requires!(options, :login, :password)
super
end
|
Instance Method Details
#authorize(money, creditcard, options = {}) ⇒ Object
118
119
120
121
122
123
124
125
126
127
128
129
|
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 118
def authorize(money, creditcard, options = {})
post = PlugnpayPostData.new
add_amount(post, money, options)
add_creditcard(post, creditcard)
add_addresses(post, options)
add_invoice_data(post, options)
add_customer_data(post, options)
post[:authtype] = 'authonly'
commit(:authorization, post)
end
|
#capture(money, authorization, options = {}) ⇒ Object
131
132
133
134
135
136
137
138
139
140
|
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 131
def capture(money, authorization, options = {})
post = PlugnpayPostData.new
post[:orderID] = authorization
add_amount(post, money, options)
add_customer_data(post, options)
commit(:capture, post)
end
|
#credit(money, identification_or_creditcard, options = {}) ⇒ Object
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 151
def credit(money, identification_or_creditcard, options = {})
post = PlugnpayPostData.new
add_amount(post, money, options)
if identification_or_creditcard.is_a?(String)
ActiveMerchant.deprecated CREDIT_DEPRECATION_MESSAGE
refund(money, identification_or_creditcard, options)
else
add_creditcard(post, identification_or_creditcard)
add_addresses(post, options)
add_customer_data(post, options)
commit(:credit, post)
end
end
|
#purchase(money, creditcard, options = {}) ⇒ Object
105
106
107
108
109
110
111
112
113
114
115
116
|
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 105
def purchase(money, creditcard, options = {})
post = PlugnpayPostData.new
add_amount(post, money, options)
add_creditcard(post, creditcard)
add_addresses(post, options)
add_invoice_data(post, options)
add_customer_data(post, options)
post[:authtype] = 'authpostauth'
commit(:authorization, post)
end
|
#refund(money, reference, options = {}) ⇒ Object
167
168
169
170
171
172
|
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 167
def refund(money, reference, options = {})
post = PlugnpayPostData.new
add_amount(post, money, options)
post[:orderID] = reference
commit(:refund, post)
end
|
#void(authorization, options = {}) ⇒ Object
142
143
144
145
146
147
148
149
|
# File 'lib/active_merchant/billing/gateways/plugnpay.rb', line 142
def void(authorization, options = {})
post = PlugnpayPostData.new
post[:orderID] = authorization
post[:txn_type] = 'auth'
commit(:void, post)
end
|