QDI

Inbox




Getting Started


To interact with the sandbox, use the endpoints shown in the API Descriptions section on the right.

Step 1: Click the "LOG IN" button on this screen to authenticate.

Step 2: Send requests to the URLs shown in the API Descriptions section. Each endpoint includes an example JSON body to help you get started.

Step 3: Click the received transmissions that appear on the left inbox panel to view any results.


Your unique URL:


Log In - Input your own API key and Merchant UUID or use the freely provided ones.

Version: 1.0.0


API Key

Merchant UUID

Test Cards


Use these test cards to test different transaction scenarios in the sandbox environment.

IDCard NumberExpirationCVVStatusDecline CodeMessageAVS ResponseCVV Response
14000100011112224932123approvedm
224000100111112223932321approvedAm
234000100211112222932999approvedNm
244000100311112221932999approvedWm
24000300011112220932999declinedDeclined
34000300001112222932999declined4Pickup Card
44000300211112228932999declined5Do Not Honor
54000300311112227932999declined12Invalid transaction
64000300411112226932999declined15Invalid Issuer
74000300511112225932999declined25Unable to locate Record
84000300611112224932999declined51Insufficient Funds
94000300711112223932999declined55Invalid Pin
104000300811112222932999declined57Transaction Not Permitted
114000300911112221932999declined62Restricted Card
124000301011112228932999declined65Excess withdrawal count
134000301111112227932999declined75Allowable number of pin tries exceeded
144000301211112226932999declined78No checking account
154000301311112225932999declined97CVV failuren
214000100411112220932999approvedXm
254000100511112229932999approvedYm
264000100611112228932999approvedZm
274000100811112226932999approvedCardholder name and ZIP match1m
28345678901234564932999approvedCardholder name, address, and ZIP match2m
29371449635398431932999approvedCardholder name, address match3m
30378282246310005932999approvedCardholder name matches4m

API Descriptions


POST

Create a Transaction

localhost:3000/api/null/v3/transaction

https://paidyet.readme.io/reference/post_transaction

Create a new transaction (sale or auth). Transactions can also be scheduled using this endpoint by simply passing in a schedule object.

Example JSON Body:

{
  "credit_card": {
    "number": "4000100011112224",
    "exp": "0932",
    "cvv": "123"
  },
  "amount": 1.04,
  "type": "sale"
}

GET

Search for Transactions

localhost:3000/api/null/v3/transaction/search

https://paidyet.readme.io/reference/get_transaction-search

Get a collection of transactions matching the supplied criteria. At least one parameter is required. Specify the search in the URL query string. Possible query keys are below Example: GET [base_url]transaction/search?date=2022-03-22&amount=1.02 will get all transactions run on the 22nd of march 2022 for $1.02.


GET

Retrieve a Transaction

localhost:3000/api/null/v3/transaction/{transaction_id}

https://paidyet.readme.io/reference/get_transaction-transaction-id

Get a single transaction by its ID.


POST

Refund a Transaction

localhost:3000/api/null/v3/transaction/{refund_transaction_id}

https://paidyet.readme.io/reference/post_transaction-refund-transaction-id

A refund should be used once the transaction you are refunding has settled. If you are trying to cancel a transaction that is still in the currenly open batch, you should use the void command instead. To refund a transaction that has been settled, you will pass in the transaction object with the type of 'refund', the original transaction id, and the amount you would like to refund. Most merchant accounts do not allow you to refund more than the original amount of the transaction. However, depending on the Credit Policy, a refund can be processed for larger than the original transaction amount.

Example JSON Body:

{
  "type": "refund",
  "transaction_id": "{original_transaction_id}",
  "amount": 1.04
}

PUT

Capture a Transaction

localhost:3000/api/null/v3/transaction/{capture_transaction_id}

https://paidyet.readme.io/reference/put_transaction-capture-transaction-id

The capture command moves an authorized transaction into the current batch for settlement. It is possible to capture an amount other than the one originally authorized, however, you must follow the guidelines established by the merchant service bank. Capturing a higher or lower dollar amount could result in additional penalties and fees. Most banks typically allow no more than 10 days to pass between the authorization/capture and settlement of a transaction.

Example JSON Body:

{
  "type": "capture",
  "amount": 1.04
}

PATCH

Void a Transaction | Increment a Lodging Transaction

localhost:3000/api/null/v3/transaction/{void_transaction_id}

https://paidyet.readme.io/reference/put_transaction-void-transaction-id

Once a transaction has been voided, it will not show up on the customer's credit card statement. Customers who have online banking that allows them to see 'Pending' transactions may see the voided transaction for a few days before it disappears. You can only void a transaction that hasn't been settled yet. A transaction is settled when the batch that it is in has been closed. If the transaction has been settled, you must run a refund instead using a void transaction. If you run a credit, both the credit and the initial charge will show up on the customer's credit card statement. You can void a transaction by putting the original transaction with a type of 'void'. For a Lodging transaction, you can increment it by posting it with a type of 'incremental' and the additional amount as the amount. For check-out, post the original transaction with a type of 'sale'.

Example JSON Body:

{
  "type": "void"
}