%@ Page Language="C#" AutoEventWireup="true" CodeBehind="apidoc.aspx.cs" Inherits="FroogalPay.Web.Documents.apidoc" %>
Base URL: /JSON/TransactionService.svc, Version: 2.0.1
Build something great with the payment Industries Simplest API!
Once you've registered it's easy to start querying our api.
Our production endpoints are only accessible via https and are located at
payment.froogalit.com/JSON/TransactionService.svc
Please make sure your HTTP client supports SNI (Server Name Indication).
Contact Us if you need sample code or any help.
Each query accepts the 4 authentication parameters : username
, password
, apikey
and devicecode
.
username
: This is the username of the current user. You can manage your users via our website here.
password
: Corresponding password for the provided username
. This field is not required and is only used to perform an additional security check.
apikey
: This is your API Key. You can view your API keys here.
devicecode
: Leave this field blank if you'll be using only 1 device, otherwise if you wish to manage
seperate devices for reporting use you can manage additional devices here.
Path | Operation | Description |
---|---|---|
/AddCardToVault | GET |
Adds the card to the card vault. Card can then be processed by calling /CardVaultTransaction |
/CardVaultTransaction | GET |
Perform card vault transaction. |
/CreateRecurringBilling | GET |
Before creating a recurring billing rule you must add a card to the card vault and keep the original transaction id. EveryDay = 54, EveryWeek = 38, Every_2_Weeks = 40, Every_3_Weeks = 42, Every_4_Weeks = 43, Every_5_Weeks = 44, Every_6_Weeks = 45, EveryMonth = 49, Every_2_Months = 50, Every_3_Months = 91, Every_6_Months = 92, Every_12_Month = 93 |
/CreditTransaction | GET |
Perform credit card transaction. |
/ACHTransaction | GET |
Perform an ACH transaction. |
/CreateTransaction | GET |
Process Credit or ACH transaction. |
/GetAssociatedTransactions | GET |
Get all transactions associated to the given preTransaction. |
/GetLastCreditTransaction | GET |
Gets the last credit transaction. |
/GetPrice | GET |
Gets the price for the current device. |
/GetSurcharge | GET |
Get the surcharge amount. |
/PreTransaction | GET |
Saves pre transaction informations for future payment. User will have to keep UniqueId in his records to process this transaction in the future. The user can activate the recurring billing option and the system will automatically bill the customer basing on the given frequency. |
/ProcessPreTransaction | GET |
Process a pre transaction via API calls. Otherwise hosted payment page is available at : /Payment?preTransact={UniqueId} |
/ReprintCredit | GET |
Get credit transaction informations for given transaction id. |
/ReSendInvoice | GET |
Send the payment confirmation and get the transaction. |
/ReturnTransaction | GET |
Refund a previously settled transaction (possible to refund only a part of the transaction by specifying an amount) |
/UpdateCardInVault | GET |
Updates card vault informations |
/ValidateCredentials | GET |
Validates if the entered credentials are valid for performing any action with the API. |
/VoidTransaction | GET |
Void a previously unsettled transaction (usually wihtin the same day) |
This query can be used in 2 different scenarios:
username
, apikey
, ksn
, track1
.ksn
and track1
parameters empty.username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
ksn |
KSN (provide when using card reader) |
query | string | |
track1 |
Track1 (provide when using card reader) |
query | string | |
name |
Cardholder Name |
query | string | |
streetaddress |
Street Adress |
query | string | |
city |
City |
query | string | |
state |
State |
query | string | |
zipcode |
Zip Code |
query | string | |
cardnumber |
Card Number |
query | string | |
expdate |
Expiration Date (MMYY) |
query | string | |
cvv |
CVV Code |
query | string | |
|
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
amount |
Transaction amount |
query | number (double) | |
transactionId |
/AddToCardVault transaction Id |
query | integer (int64) | |
invoice |
Invoice number (if applicable) |
query | string | |
paymentType |
33 = InitialDeposit, 34 = AdditionalDeposit, 35 = FinalPayment |
query | integer (int64) |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
transactionId |
TransactionId of the card vault transaction |
query | string | |
amount |
Amount |
query | number (double) | |
frequency |
View possible values in query description |
query | integer (int64) | |
beginDate |
Recurring billing starting on (in "yyyy-MM-dd" format) |
query | string | |
endDate |
Recurring billing ending on (in "yyyy-MM-dd" format) |
query | string |
Uses default content-types: application/json
Successful response
Error response
This query can be used in 2 different scenarios:
username
, apikey
, amount
, ksn
, track1
, addtovault
.ksn
and track1
parameters empty.username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
amount |
Transaction amount |
query | number (double) | |
ksn |
KSN (provide when using card reader) |
query | string | |
track1 |
Track1 (provide when using card reader) |
query | string | |
name |
Cardholder Name |
query | string | |
invoice |
Invoice number (if applicable) |
query | string | |
streetaddress |
Street Adress |
query | string | |
city |
City |
query | string | |
state |
State |
query | string | |
zipcode |
Zip Code |
query | string | |
cardnumber |
Card Number |
query | string | |
expdate |
Expiration Date (MMYY) |
query | string | |
cvv |
CVV Code |
query | string | |
|
query | string | ||
addtovault |
Add card to vault (performs same operation as /AddCardToVault) |
query | boolean | |
magstripeData |
magstripeData |
query | string | |
secureFormat |
secureFormat |
query | string | |
tax |
tax |
query | string | |
gatewaycode |
Payment processor identifier, available on the location webpage |
query | integer | |
surchargeIdentifier |
The surcharge identifier returned by /GetSurcharge. If the amount is different to the surcharge reference amount the transaction will be declined. |
query | String |
Uses default content-types: application/json
Successful response
Error response
Process ACH Transactions
username |
Username |
query | string | |
password |
Password |
query | string | |
ApiKey |
ApiKey |
query | string | |
Devicecode |
Devicecode |
query | string | |
Amount |
Transaction amount |
query | string | |
gatewaycode |
Payment processor code |
query | string | |
name |
name |
query | string | |
streetaddress |
streetaddress |
query | string | |
city |
city |
query | string | |
zipcode |
zipcode |
query | string | |
title |
title |
query | string | |
PO |
purchase order number |
query | string | |
bankRouting |
The bank routing number. |
query | string | |
accountNumber |
Account Number |
query | string | |
socialSecurityNumber |
Social Security Number |
query | string | |
driverLicenseNumber |
Driver License Number |
query | string | |
yearOfBirth |
Year of birth (4 digits format YYYY) |
query | string | |
user email |
query | string | ||
customField |
JSON array of TransactionCustomField. |
query | string |
This query can be used in 3 different scenarios:
username
, apikey
, ksn
, track1
.ksn
and track1
parameters empty.bankRouting
accountNumber
socialSecurityNumber/driverLicenseNumber
yearOfBirth
are required username |
Username |
query | string | ||
password |
Password |
query | string | ||
ApiKey |
ApiKey |
query | string | ||
Devicecode |
Devicecode |
query | string | ||
Amount |
Transaction amount |
query | string | ||
gatewaycode |
Payment processor code |
query | string | ||
paymentmode |
Credit payment or ACH payment. |
query | PaymentModeEnum | ||
name |
name |
query | string | ||
streetaddress |
streetaddress |
query | string | ||
city |
city |
query | string | ||
zipcode |
zipcode |
query | string | ||
title |
title |
query | string | ||
PO |
purchase order number |
query | string | ||
bankRouting |
The bank routing number. |
query | string | For ACH transactions | |
accountNumber |
Account Number |
query | string | For ACH transactions | |
socialSecurityNumber |
Social Security Number |
query | string | ||
driverLicenseNumber |
Driver License Number |
query | string | ||
yearOfBirth |
Year of birth (4 digits format YYYY) |
query | string | ||
user email |
query | string | |||
customField |
JSON array of TransactionCustomField. |
query | string | ||
ksn |
ksn. |
query | string | ||
track1 |
track1. |
query | string | ||
cardnumber |
cardnumber. |
query | string | ||
expdate |
expdate. |
query | string | ||
cvv |
cvv. |
query | string | ||
addtovault |
addtovault. |
query | string | ||
magstripeData |
magstripeData. |
query | string | ||
secureFormat |
secureFormat. |
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
gatewayCode |
Payment processor identifier, available on the location webpage |
query | number (double) | |
amount |
Transaction amount |
query | number (double) | |
cardnumber |
The first 12 digits of the card. |
query | integer (int64) | |
invoice |
Invoice number |
query | string | |
country |
The ISO country code |
query | integer (int64) | |
region |
Transaction ZipCode |
query | integer (int64) |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
amount |
Transaction amount |
query | number (double) | |
name |
Cardholder Name |
query | string | |
autoDeactivate |
The preTransaction will be deactivated after a payment. |
query | boolean | |
invoice |
Invoice number (if applicable) |
query | string | |
streetaddress |
Street Adress |
query | string | |
city |
City |
query | string | |
state |
State |
query | string | |
zipcode |
Zip Code |
query | string | |
|
query | string | ||
addtovault |
Add card to vault (performs same operation as /AddCardToVault) |
query | boolean | |
successurl |
Where the customer will be redirected after a successfull transaction |
query | string | |
failurl |
Where the customer will be redirected in case of an invalid transaction |
query | string | |
gatewaycode |
Payment processor identifier, available on the location webpage |
query | integer | |
customFields |
JSON array of TransactionCustomField |
query | string | |
paymentmode |
Available payment mode on checkout. Credit (58) is the default value. |
query | PaymentModeEnum | |
createRecurringBilling |
A recurring billing will be created. |
query | string | |
beginDate |
Recurring billing starting on (in "yyyy-MM-dd" format). Need to be specified only if the parameter startAfterFirstCheckout is set to false. |
query | string | |
EndDate |
Recurring billing ending on (in "yyyy-MM-dd" format). |
query | string | |
EndDate |
Recurring billing ending on (in "yyyy-MM-dd" format). |
query | string | |
startAfterFirstCheckout |
The recurring billing will automatically start after the first checkout. |
query | boolean | |
frequency |
The recuring billing frequency. |
query | Frequency |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
uniqueId |
Pretransaction uniqueId |
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
uniqueid |
UniqueId of pre transaction to process |
query | string | |
amount |
Transaction amount |
query | number (double) | |
ksn |
KSN (provide when using card reader) |
query | string | |
track1 |
Track1 (provide when using card reader) |
query | string | |
name |
Cardholder Name |
query | string | |
invoice |
Invoice number (if applicable) |
query | string | |
streetaddress |
Street Adress |
query | string | |
city |
City |
query | string | |
state |
State |
query | string | |
zipcode |
Zip Code |
query | string | |
cardnumber |
Card Number |
query | string | |
expdate |
Expiration Date (MMYY) |
query | string | |
cvv |
CVV Code |
query | string | |
|
query | string | ||
addtovault |
Add card to vault (performs same operation as /AddCardToVault) |
query | boolean | |
magstripeData |
magstripeData |
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
transactionid |
Transaction Id |
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
transactionid |
Transaction Id |
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
transactionId |
TransactionId to refund |
query | string | |
amount |
Amount to refund (transaction will be refunded completely if not specified) |
query | number (double) |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
transactionId |
/AddToCardVault transaction Id |
query | integer (int64) | |
ksn |
KSN (provide when using card reader) |
query | string | |
track1 |
Track1 (provide when using card reader) |
query | string | |
name |
Cardholder Name |
query | string | |
streetaddress |
Street Adress |
query | string | |
city |
City |
query | string | |
state |
State |
query | string | |
zipcode |
Zip Code |
query | string | |
cardnumber |
Card Number |
query | string | |
expdate |
Expiration Date (MMYY) |
query | string | |
cvv |
CVV Code |
query | string | |
|
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string |
Uses default content-types: application/json
Successful response
Error response
username |
Username |
query | string | |
password |
Password (for additional security) |
query | string | |
apikey |
API Key |
query | string | |
devicecode |
Device Code (if using multiple devices) |
query | string | |
transactionId |
TransactionId to void |
query | string |
Uses default content-types: application/json
Successful response
Error response
always 'success'
Additional informations
Recurring id
Recurring amount
Frequency returned in human readable format
Recurring billing starting on
Recurring billing ending on
Is active
Number of processed payments
always 'success'
Additional informations
transaction id
auth number returned by payment processor.
Last 4 digits of card number. Not returned when performing a swipped transaction.
Cardholder name. Not returned when performing a swipped transaction.
Amount billed.
Credit card type. (VISA, MasterCard, AMEX, Other)
Expiration date.
Invoice number.
always 'success'
Additional informations
transaction id
auth number returned by payment processor.
Last 4 digits of the account number. Not returned when performing a swipped transaction.
Cardholder name. Not returned when performing a swipped transaction.
holder name.
Amount billed.
Credit card type. (VISA, MasterCard, AMEX, Other)
Expiration date.
Invoice number.
name
address
city
state
zip code
always 'success'
Additional informations
price for the current device
receipt code for the current device
always 'success'
Additional informations
user id
username
First name
Last name
Array of available permissions id
always 'success'
Additional informations
always 'success'
Additional informations
pre transaction id
UniqueId to keep for future pre transaction operations.
SurchargeAmount
The identifier to send to associate a credit transaction to previously surcharge request.
The custom field name
The custom field value
always 'success'
Additional informations
Originial transaction id
void transaction id
PNRef returned by payment processor.
auth code returned by payment processor.
Only credit option will be available on checkout for PreTransaction.
Only ACH option will be available on checkout for PreTransaction.
The user will choose the payment mode on checkout for PreTransaction.
Transaction not processed; generic host error.
Transaction was successful.
Authentication failed.
Transaction was rejected by processor.
Invalid amount.
Invalid merchant informations.
Invalid CVNumber.
Declined by the card issuer.
Original transaction ID not found.
Customer reference number not found.
Invalid ABA Number.
Invalid account number.
Invalid EXPDate.
Invalid check holder name.
Insufficient funds available.
Unknown Transaction Failure.
Timeout value too small or invalid timeout value.
Processor not available.
Error reading response from host.
Timeout waiting for processor response.
Void error.
Duplicate transaction.
Cannot exceed sales cap.
Unable to decrypt secure transaction due to invalid data or invalid decryption keys.
Secure device's ID is not registered as a SecureLink device.
Unrecognized or missing SecureFormat in ExtData.
Invalid or missing Track1 in ExtData.
Invalid or missing Track2 in ExtData.
Invalid or missing SecurityInfo in ExtData.
User is not authorized for SecureLink transactions.
User has not yet signed the SecureLink license agreement.
Track1 decrypted OK but is malformed. Causes: Invalid decryption keys or SecureFormat.
Track2 decrypted OK but is malformed. Causes: Invalid decryption keys or SecureFormat.
Invalid ExpDate.
Generic host error.
Invalid login.
Insufficient privilege or invalid amount.
Unsupported processor.
Error checking duplicate.