Card Processing

Card Processing API is used for credit card payment operations.


POST/dev/card/getToken

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

POST
/dev/card/getToken
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"
  }
}

POST/dev/card/process

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

POST
/dev/card/process
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
}

POST/dev/transaction/status

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

POST
/dev/transaction/status
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": []
}

POST/dev/transaction/refund

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

POST
/dev/transaction/refund
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"
}

POST/dev/transaction/refund/status

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

POST
/dev/transaction/refund/status
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"
}