Card Processing
Card Processing API is used for credit card payment operations.
Get Token
This token should be used in payment operations as a nonce parameter to prevent replay attack on payment operations. A credit card token is valid for 20 minutes. The Request does not require a signature.
Request Parameters
- Name
project- Type
- string
- Required
- required
- Description
Your project ID
- Name
number- Type
- string
- Required
- required
- Description
Credit card number
- Name
expiration_month- Type
- string
- Required
- required
- Description
Credit card expiration month
- Name
expiration_year- Type
- string
- Required
- required
- Description
Credit card expiration year
- Name
security_code- Type
- string
- Required
- required
- Description
Credit card security code
Response Parameters
- Name
id- Type
- string
- Required
- Description
The ID of card token
- Name
expires_at- Type
- string
- Required
- Description
The expiration time
- Name
card- Type
- object
- Required
- Description
The card object
- Name
card.lastFour- Type
- string
- Required
- Description
Last 4 digit of the card
- Name
card.expirationMonth- Type
- string
- Required
- Description
The card expiration month
- Name
card.expirationYear- Type
- string
- Required
- Description
The card expiration year
Request
curl -X POST https://api.nodapay.ai/dev/card/getToken \
-H "Content-Type: application/json" \
-d '{
"project":"d7d86391b36b4543bc1cf87cbd2ee6c9",
"number":"4244491609788988",
"expiration_month":"06",
"expiration_year":"2028",
"security_code":"501"
}'
Response
{
"id": "e649942562adf9adb9d7ad4a67faa39310816fe4b0b54d1ee4496f4c0a7a8305",
"expiresAt": "2023-08-24T08:00:03.791Z",
"card": {
"lastFour": "8988",
"expirationMonth": "06",
"expirationYear": "2028"
}
}
Process a payment
Process credit card payment
Request parameters
- Name
project- Type
- string
- Required
- required
- Description
Your project ID
- Name
card_token- Type
- string
- Required
- required
- Description
Credit card token received from /dev/card/getToken
- Name
order_id- Type
- string
- Required
- required
- Description
Order number in merchant's system. Should be unique. If order_id already exist payment not accepted
- Name
price- Type
- string
- Required
- required
- Description
Amount to be charged. Should be string in fixed format like "123.31"
- Name
currency- Type
- string
- Required
- required
- Description
Currency of the transaction
- Name
lifetime- Type
- string
- Required
- optional
- Description
Transaction lifetime in seconds. Should be greater or equal 300
- Name
description- Type
- string
- Required
- required
- Description
Description of the transaction
- Name
user_name- Type
- string
- Required
- required
- Description
Cardholder full name
- Name
user_phone- Type
- string
- Required
- required
- Description
Cardholder phone number
- Name
user_contact_email- Type
- string
- Required
- required
- Description
Cardholder email address
- Name
ip- Type
- string
- Required
- required
- Description
User IP address.
- Name
real_url- Type
- string
- Required
- optional
- Description
Website url (used for validation)
- Name
result_url- Type
- string
- Required
- required
- Description
Callback url, transaction result notification
- Name
success_url- Type
- string
- Required
- required
- Description
URL where to redirect the browser if transaction ended with success
- Name
failure_url- Type
- string
- Required
- required
- Description
URL where to redirect the browser if transaction ended with failure
- Name
signature- Type
- string
- Required
- required
- Description
Request signature
Request
curl https://api.nodapay.ai/dev/card/process \
-H "Content-Type: application/json" \
-d '{
"project": "d7d86391b36b4543bc1cf87cbd2ee6c9",
"card_token": "e649942562adf9adb9d7ad4a67faa39310816fe4b0b54d1ee4496f4c0a7a8305",
"user_contact_email": "example@gmail.com",
"user_name": "john doe",
"description": "live test payment",
"price": "1.00",
"currency": "USD",
"order_id": "1233213123213",
"user_phone": "55555555555",
"result_url": "https://example.com/result",
"success_url": "https://example.com/success",
"failure_url": "https://example.com/failure",
"ip": "1.1.1.1",
"user_country": "PL",
"user_city": "Krakow",
"user_address": "Grodzka 26",
"user_state": "Krakow",
"user_postal_code": "31-044",
"user_nationality": "PL",
"signature": "5af341bf44847b4ea627e32a956537fab493a7b2fd73dcb4a0e23f4c9d771e2"
}'
Response
{
"message": "Signature is invalid",
"code": 400005
}
Transaction status
Get transaction details and status. If you created a transaction and then committed a
refund, you will get a "transactions" array with information about this refund after calling this method again.
Transaction status can be : created | processing | failed | completed
Request parameters
- Name
project- Type
- string
- Required
- required
- Description
Your project ID
- Name
payment_id- Type
- string
- Required
- required
- Description
Payment ID received after transaction creation
- Name
signature- Type
- string
- Required
- required
- Description
Request signature
Request
curl -X POST https://api.nodapay.ai/dev/transaction/status \
-H "Content-Type: application/json" \
-d '{
"project": "d7d86391b36b4543bc1cf87cbd2ee6c9",
"payment_id": "1692864583247_GCAaCTitYHWnyeQBjyguEiOt",
"signature": "6cc9369d93a0a81d517fae7140fb5aebbdefa9671459e0715e3b8d4f5fd9bf3f"
}'
Response
{
"success": true,
"payment_id": "1692864583247_GCAaCTitYHWnyeQBjyguEiOt",
"order_id": "1233213123213",
"create_date": "2023-08-24T08:09:43.592Z",
"result_date": "2023-08-24T08:09:43.592Z",
"card_pan": "424449******8988",
"transaction_status": "completed",
"amount": "1.00",
"currency": "USD",
"status_code": null,
"status_description": null,
"amount_gross": "1.00",
"transactions": []
}
Refund
Creates and executes refund by transaction ID.
Request parameters
- Name
project- Type
- string
- Required
- required
- Description
Your project ID
- Name
payment_id- Type
- string
- Required
- required
- Description
Payment ID to be refunded
- Name
result_url- Type
- string
- Required
- required
- Description
Callback URL
- Name
description- Type
- string
- Required
- optional
- Description
Refund description
- Name
signature- Type
- string
- Required
- required
- Description
Request signature
Request
curl -X POST https://api.nodapay.ai/dev/transaction/refund \
-H "Content-Type: application/json" \
-d '{
"project": "d7d86391b36b4543bc1cf87cbd2ee6c9",
"payment_id": "1692864583247_GCAaCTitYHWnyeQBjyguEiOt",
"signature": "6cc9369d93a0a81d517fae7140fb5aebbdefa9671459e0715e3b8d4f5fd9bf3f"
}'
Response
{
"refund_id": "1692865850664_LnsvwJeNycaSkOSCKDAqsgVj",
"success": true,
"amount": "1.00",
"transaction_status": "failed",
"currency": "USD"
}
Refund status
Gets refund details and status.
Transaction status can be: processing | failed | refund_completed
Request parameters
- Name
project- Type
- string
- Required
- required
- Description
Your project ID
- Name
refund_id- Type
- string
- Required
- required
- Description
Refund ID
- Name
signature- Type
- string
- Required
- required
- Description
Request signature
Request
curl -X POST https://api.nodapay.ai/dev/transaction/refund/status \
-H "Content-Type: application/json" \
-d '{
"project": "d7d86391b36b4543bc1cf87cbd2ee6c9",
"refund_id": "1692865850664_LnsvwJeNycaSkOSCKDAqsgVj",
"signature": "8b075d800e0f5d783492dcd039a1667aaa75e96a9376917557c372e970e7fab7"
}'
Response
{
"refund_id": "1692865850664_LnsvwJeNycaSkOSCKDAqsgVj",
"success": true,
"amount": "1.00",
"transaction_status": "refund_completed",
"currency": "USD"
}