Process Transactions
- Process an ACH (Electronic Check) transaction.
- Process a keyed credit card transaction.
- Process a tokenized transaction.
- You can also re-bill via a Schedule ID from a previously created recurring schedule.
- You can re-bill via a previous Transaction ID.
- If you have uploaded ACH/Card data it can be re-billed via a Vault ID.
Parameters
ACH
required | name | format | description |
---|---|---|---|
* | achRoutingNumber | Valid Check Routing Number | ACH Routing Number |
* | achAccountNumber | Valid Check Account Number, Max Length 17 | ACH Account Number |
* | achAccountType | SAVINGS | CHECKING | SAVINGS - Savings Account CHECKING - Checking Account |
* | achType | PPD | CCD |
PPD - Consumer Account
CCD - Business Account
|
Keyed Card
Please consider the PCI Implications of transmitting full card number data.
required | name | format | description |
---|---|---|---|
* | cardNumber | Valid Credit Card Number. |
Credit/Debit Card Number NOTE: Please consider the PCI Implications of transmitting full card number data. |
* | cardExpMonth | 1-12, Ex: 8 | Expiration Month. |
* | cardExpYear | 4 Digit Format. Ex: 2015 | Expiration Year. |
cardCvv | Valid CVV. Max Length 4 | Card Verification Value. |
Token
required | name | format | description |
---|---|---|---|
* | tokenId | Valid Token ID | A Token ID created using Tokenization SDK. |
Re-Bill by Schedule ID
required | name | format | description |
---|---|---|---|
* | scheduleId | Valid Schedule ID | A Schedule ID from a previously created recurring schedule. |
Re-Bill by Transaction ID
required | name | format | description |
---|---|---|---|
* | transactionId | Valid Transaction ID | A Transaction ID from a previously charged transaction. |
Re-Bill by Vault ID
required | name | format | description |
---|---|---|---|
* | vaultId | Valid Vault ID | A Vault ID from a previously stored account. |
achType | PPD | CCD | Required for ACH Vaults. ACH Type for this transaction. This is optional. If not present, the default ACH Type for the Vault will be used. PPD - Consumer Account CCD - Business Account |
Credit Card Security
required | name | format | description |
---|---|---|---|
avs | ADDRESS ZIP ADDRESS_AND_ZIP ADDRESS_OR_ZIP BYPASS OFF |
This will check the billingAddress and billingZip.
Test values for Labs environment here.
|
|
cvv | ON | OFF | ON - CVV check on. OFF - CVV check off. |
|
cardCvv | String | The CVV code from the card. |
Transaction Fields
All amount* fields have a max value of 1,000,000. Amounts higher than 1,000,000 will cause a validation error.
required | name | format | description |
---|---|---|---|
status | HOLD | CAPTURE | VOID | Transaction Status affects whether or not the transaction will be settled. More Details | |
terminalId | Valid Terminal Id | The terminal on which to run the transaction. If no terminal is specified, transaction will run on API user's default terminal. NOTE: If no terminalId is specified when re-billing by transactionId, the system will attempt to bill to the same terminal as used in the original transaction. If it is not available, the user's default will be used. | |
action | CHARGE | REFUND | VERIFY |
Action to perform. Charge the account, refund the account, or verify the account. Verifying accounts are only supported for cards and will run a zero dollar authorization to verify the card number.
Note: In ACH terms charge is a debit and refund is a credit, but we use the terms charge and refunds for both transaction types. If not present, the default value of CHARGE will be used. |
|
amountBase | Money, Format: X.XX Ex: 1000.00 or $1,000.00 |
Base amount to charge. This is required for ACH, Credit Card and Re-Bill Vault ID. If omitted on a Re-Bill by Transaction ID then the amount from the initial transaction will be used.
Note: This is not required when doing an action=VERIFY to verify a card number. |
|
amountShipping | Money, Format: X.XX Ex: 1000.00 or $1,000.00 |
If you want to track separate shipping amounts use this parameter. | |
amountTip | Money, Format: X.XX Ex: 1000.00 or $1,000.00 |
If you want to add a tip to the transaction then use this parameter. | |
amountReject | Money, Format: X.XX Ex: 1000.00 or $1,000.00 |
If you are re-billing a rejected ACH transaction and you want to charge a reject fee then use this parameter. | |
amountTax | Money, Format: X.XX Ex: 1000.00 or $1,000.00 |
If you are billing tax then use this parameter. | |
amountSurcharge | Money, Format: X.XX Ex: 1000.00 or $1,000.00 |
If you want to add a surcharge to the transaction then use this parameter. |
Billing Contact
required | name | format | description |
---|---|---|---|
billingIdentifier | Max Length 64 | Billing customer id. If you have your own customer ID you want to associate with the transaction. | |
* |
billingFirstName | Max Length 16 |
Billing first name. Required for ACH PPD transactions |
billingMiddleName | Max Length 32 | Billing middle name. | |
* |
billingLastName | Max Length 32 |
Billing last name. Required for ACH PPD transactions |
* | billingCompanyName | Max Length 64 |
Billing company name. Required for ACH CCD transactions |
billingJobTitle | Max Length 32 | Billing job title. Ex: President | |
billingPhone | Max Length 24 | Billing phone number. | |
billingPhone2 | Max Length 24 | Billing alternate phone number. | |
billingAddress | Max Length 128 | Billing street address.
Test values for Labs environment here. |
|
billingCity | Max Length 32 | Billing city. | |
billingState | Max Length 32 | Billing state. | |
billingZip | Max Length 12 |
Billing zip. Test values for Labs environment here. |
|
billingCountry | Max Length 32 | Billing country. | |
billingEmail | Max Length 128 | Billing email. | |
billingWebsite | Max Length 128 | Billing website. |
Shipping Contact
required | name | format | description |
---|---|---|---|
shippingIdentifier | Max Length 64 | Shipping customer id. If you have your own customer ID you want to associate with the transaction. | |
shippingFirstName | Max Length 16 | Shipping first name. | |
shippingMiddleName | Max Length 32 | Shipping middle name. | |
shippingLastName | Max Length 32 | Shipping last name. | |
shippingCompanyName | Max Length 64 | Shipping company name. | |
shippingJobTitle | Max Length 32 | Shipping job title. Ex: President | |
shippingPhone | Max Length 24 | Shipping phone number | |
shippingPhone2 | Max Length 24 | Shipping alternate phone number. | |
shippingAddress | Max Length 128 | Shipping street address | |
shippingCity | Max Length 32 | Shipping city. | |
shippingState | Max Length 32 | Shipping state | |
shippingZip | Max Length 12 | Shipping zip. | |
shippingCountry | Max Length 32 | Shipping country. | |
shippingEmail | Max Length 128 | Shipping email address. | |
shippingWebsite | Max Length 128 | Shipping website. |
Other Fields
required | name | format | description |
---|---|---|---|
invoiceNumber | Max Length 32 |
Invoice number. If you would like to include an invoice number on the transaction for accounting. Note: To bypass Duplicate Transaction Blocking, send a different invoice number for each "duplicate transaction". A Duplicate Transaction is a transaction that includes the same card number and same amount, processed within 10 minutes of each other. |
|
purchaseOrderNumber | Max Length 32 | Purchase order number. If you would like to mark this transaction with your own PO for accounting. | |
note | Max Length 2048 | A note field for you to annotate the transaction. |
Example Request in the "Labs Demo" account:
The example below is only sending the minimum mandatory fields.
Please note you will need to replace the API User/PW and the Application Key with you specific values.
curl -X POST -u "pj-ql-01:pj-ql-01p" -H "Accept: application/json" -H "X-PJ-Application-Key: c0d73641-65ae-4e9b-bbab-fb6215d7ee98" \
-d "cardNumber=4444333322221111" \
-d "cardExpMonth=01" \
-d "cardExpYear=2025" \
-d "amountBase=1901.00" \
"https://api.payjunctionlabs.com/transactions"
Example Response
API version 2020-04-13 or above required to receive the service field in transaction response detail
{ "transactionId": 3601, "uri": "https://api.payjunction.com/transactions/3601", "terminalId": 1, "action": "CHARGE", "amountBase": "1.00", "amountTax": "1.00", "amountShipping": "1.00", "amountTip": "1.00", "amountSurcharge": "1.00", "amountTotal": "5.00", "invoiceNumber": "Invoice 5", "method": "KEYED", "purchaseOrderNumber": "Custom PO", "service": "API", "signatureStatus": "SIGNED", "status": "CAPTURE", "created": "2013-11-18T22:15:32Z", "lastModified": "2013-11-18T22:15:32Z", "response": { "approved": true, "code": "00", "message": "Approved", "processor": { "authorized": true, "approvalCode": "PJ20AP", "avs": { "status": "REQUESTED", "requested": "BYPASS", "match": { "ZIP": true, "ADDRESS": true } }, "cvv": { "status": "NOT_REQUESTED" } } }, "settlement": { "settled": false }, "vault": { "type": "CARD", "accountType": "VISA", "lastFour": "1111" }, "billing": { "firstName": "John", "middleName": "J", "lastName": "Doe", "companyName": "PayJunction", "email": "jdoe@payjunction.com", "phone": "8006010230 x2", "phone2": "8006010230 x2", "jobTitle": "Support", "identifier": "Billing Customer id", "website": "http://www.payjunction.com", "address": { "address": "1903 State St", "city": "Santa Barbara", "state": "CA", "country": "USA", "zip": "93101" } }, "shipping": { "firstName": "Jane", "middleName": "J", "lastName": "Doe", "companyName": "PayJunction", "email": "janedoe@payjunction.com", "phone": "8006010230 x2", "phone2": "8006010230 x2", "jobTitle": "Support", "identifier": "Shipping Customer Id", "website": "https://www.payjunction.com", "address": { "address": "1903 State St", "city": "Santa Barbara", "state": "CA", "country": "USA", "zip": "93101" } } }