--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: 
- !ruby/object:RI::MethodSummary 
  name: new
comment: 
- !ruby/struct:SM::Flow::P 
  body: PayJunction Gateway
- !ruby/struct:SM::Flow::P 
  body: "This gateway accepts the following arguments:"
- !ruby/struct:SM::Flow::VERB 
  body: "  :login    =&gt; your PayJunction username\n  :password =&gt; your PayJunction pass\n"
- !ruby/struct:SM::Flow::P 
  body: "Example use:"
- !ruby/struct:SM::Flow::VERB 
  body: "  gateway = ActiveMerchant::Billing::Base.gateway(:pay_junction).new(\n              :login =&gt; &quot;my_account&quot;,\n              :password =&gt; &quot;my_pass&quot;\n           )\n\n  # set up credit card obj as in main ActiveMerchant example\n  creditcard = ActiveMerchant::Billing::CreditCard.new(\n    :type       =&gt; 'visa',\n    :number     =&gt; '4242424242424242',\n    :month      =&gt; 8,\n    :year       =&gt; 2009,\n    :first_name =&gt; 'Bob',\n    :last_name  =&gt; 'Bobsen'\n  )\n\n  # optionally specify address if using AVS\n  address = { :address1 =&gt; '101 Test Ave', :city =&gt; 'Test', :state =&gt; 'TS',\n              :zip  =&gt; '10101', :country =&gt; 'US' }\n\n  # run request\n  response = gateway.purchase(1000, creditcard, :address =&gt; address) # charge 10 dollars\n"
- !ruby/struct:SM::Flow::P 
  body: 1) Check whether the transaction was successful
- !ruby/struct:SM::Flow::VERB 
  body: "  response.success?\n"
- !ruby/struct:SM::Flow::P 
  body: 2) Retrieve the message returned by PayJunction
- !ruby/struct:SM::Flow::VERB 
  body: "  response.message\n"
- !ruby/struct:SM::Flow::P 
  body: 3) Retrieve the unique transaction ID returned by PayJunction
- !ruby/struct:SM::Flow::VERB 
  body: "  response.authorization\n"
- !ruby/struct:SM::Flow::P 
  body: This gateway supports &quot;instant&quot; transactions. These transactions allow you to execute an operation on a previously run card without card information provided you have the transaction id from a previous transaction with the same card. All functions that take a credit card object for this gateway can take a transaction id string instead.
- !ruby/struct:SM::Flow::P 
  body: Test Transactions
- !ruby/struct:SM::Flow::P 
  body: See the source for initialize() for test account information. Note that PayJunction does not allow test transactions on your account, so if the gateway is running in :test mode your transaction will be run against PayJunction's global test account and will not show up in your account.
- !ruby/struct:SM::Flow::P 
  body: Transactions ran on this account go through a test processor, so there is no need to void or otherwise cancel transactions. However, for further safety, please use the special card numbers 4433221111223344 or 4444333322221111 and keep transaction amounts below $4.00 when testing.
- !ruby/struct:SM::Flow::P 
  body: Also note, transactions ran for an amount between $0.00 and $1.99 will likely result in denial. To demonstrate approvals, use amounts between $2.00 and $4.00.
- !ruby/struct:SM::Flow::P 
  body: Test transactions can be checked by logging into PayJunction Web Login with username 'pj-cm-01' and password 'pj-cm-01p'
- !ruby/struct:SM::Flow::P 
  body: Usage Details
- !ruby/struct:SM::Flow::P 
  body: Below is a map of values accepted by PayJunction and how you should submit each to ActiveMerchant
- !ruby/struct:SM::Flow::P 
  body: PayJunction Field ActiveMerchant Use
- !ruby/struct:SM::Flow::P 
  body: dc_logon provide as :login value to gateway instantation dc_password provide as :password value to gateway instantiation
- !ruby/struct:SM::Flow::P 
  body: dc_name will be retrieved from credit_card.name dc_first_name :first_name on CreditCard object instantation dc_last_name :last_name on CreditCard object instantation dc_number :number on CreditCard object instantation dc_expiration_month :month on CreditCard object instantation dc_expiration_year :year on CreditCard object instantation dc_verification_number :verification_value on CC object instantation
- !ruby/struct:SM::Flow::P 
  body: dc_transaction_amount include as argument to method for your transaction type dc_transaction_type do nothing, set by your transaction type dc_version do nothing, always &quot;1.2&quot;
- !ruby/struct:SM::Flow::P 
  body: dc_transaction_id submit as a string in place of CreditCard obj for
- !ruby/struct:SM::Flow::VERB 
  body: "                        &quot;instant&quot; transactions.\n"
- !ruby/struct:SM::Flow::P 
  body: dc_invoice :order_id in options for transaction method dc_notes :description in options for transaction method
- !ruby/struct:SM::Flow::P 
  body: "See example use above for address AVS fields See #recurring for periodic transaction fields"
constants: 
- !ruby/object:RI::Constant 
  comment: 
  name: API_VERSION
  value: "'1.2'"
- !ruby/object:RI::Constant 
  comment: 
  name: TEST_LOGIN
  value: "'pj-ql-01'"
- !ruby/object:RI::Constant 
  comment: 
  name: TEST_PASSWORD
  value: "'pj-ql-01p'"
- !ruby/object:RI::Constant 
  comment: 
  name: SUCCESS_CODES
  value: "[\"00\", \"85\"]"
- !ruby/object:RI::Constant 
  comment: 
  name: SUCCESS_MESSAGE
  value: "'The transaction was approved.'"
- !ruby/object:RI::Constant 
  comment: 
  name: FAILURE_MESSAGE
  value: "'The transaction was declined.'"
- !ruby/object:RI::Constant 
  comment: 
  name: DECLINE_CODES
  value: "{         \"AE\"  => 'Address verification failed because address did not match.',         'ZE'  => 'Address verification failed because zip did not match.',         'XE'  => 'Address verification failed because zip and address did not match.',         'YE'  => 'Address verification failed because zip and address did not match.',         'OE'  => 'Address verification failed because address or zip did not match.',         'UE'  => 'Address verification failed because cardholder address unavailable.',         'RE'  => 'Address verification failed because address verification system is not working.',         'SE'  => 'Address verification failed because address verification system is unavailable.',         'EE'  => 'Address verification failed because transaction is not a mail or phone order.',         'GE'  => 'Address verification failed because international support is unavailable.',         'CE'  => 'Declined because CVV2/CVC2 code did not match.',         '04'  => 'Declined. Pick up card.',         '07'  => 'Declined. Pick up card (Special Condition).',         '41'  => 'Declined. Pick up card (Lost).',         '43'  => 'Declined. Pick up card (Stolen).',         '13'  => 'Declined because of the amount is invalid.',         '14'  => 'Declined because the card number is invalid.',         '80'  => 'Declined because of an invalid date.',         '05'  => 'Declined. Do not honor.',         '51'  => 'Declined because of insufficient funds.',         'N4'  => 'Declined because the amount exceeds issuer withdrawal limit.',         '61'  => 'Declined because the amount exceeds withdrawal limit.',         '62'  => 'Declined because of an invalid service code (restricted).',         '65'  => 'Declined because the card activity limit exceeded.',         '93'  => 'Declined because there a violation (the transaction could not be completed).',         '06'  => 'Declined because address verification failed.',         '54'  => 'Declined because the card has expired.',         '15'  => 'Declined because there is no such issuer.',         '96'  => 'Declined because of a system error.',         'N7'  => 'Declined because of a CVV2/CVC2 mismatch.',         'M4'  => 'Declined.',          \"FE\"  => \"There was a format error with your Trinity Gateway Service (API) request.\",         \"LE\"  => \"Could not log you in (problem with dc_logon and/or dc_password).\",         'NL'  => 'Aborted because of a system error, please try again later. ',         'AB'  => 'Aborted because of an upstream system error, please try again later.'"
full_name: ActiveMerchant::Billing::PayJunctionGateway
includes: []

instance_methods: 
- !ruby/object:RI::MethodSummary 
  name: authorize
- !ruby/object:RI::MethodSummary 
  name: capture
- !ruby/object:RI::MethodSummary 
  name: credit
- !ruby/object:RI::MethodSummary 
  name: purchase
- !ruby/object:RI::MethodSummary 
  name: recurring
- !ruby/object:RI::MethodSummary 
  name: test?
- !ruby/object:RI::MethodSummary 
  name: void
name: PayJunctionGateway
superclass: Gateway
