Understanding the Withdrawal Flow

The PayNearMe withdrawal flow for Cardless Cash at ATM begins by displaying the following screens to the player:

The first screen asks players to create a 4-digit pin code that they will enter at the ATM to receive cash and, if allowed, asks them to enter the amount they want to withdraw.

πŸ“˜

Denomination Requirements

Only denominations of $20 will be accepted as ATMs only hold $20 bills.

If you plan to let the player select an amount, PayNearMe offers an optional Push Authorization callback that can be configured to allow for real-time limit and balance checks in your system before approving the withdrawal.

The screenshots above display a non-editable, fixed amount that the operator passed in with the /get_smart_token call. If the amount is not passed in this call, a blank field displays asking the player to enter the amount he/she wants to withdraw. If you plan to pass in a fixed amount, remember to only pass denominations of $20 (e.g., $20, $40, $60, $300, $400, etc.). Passing an amount of $45 will result in an error.

Once players enter their PIN and, if applicable, payout amount and click Transfer, they will see a Cardless Cash at ATM withdrawal summary screen (e.g., above on the right) that displays all the settings they defined on the first screen, a timeframe when they must pick up their cash, and the mobile number where PayNearMe will send pickup instructions via SMS.

πŸ“˜

Including the Phone Number

The site_customer_phone parameter MUST be populated in the /create_push_order call for Cardless Cash at ATM to function. For compliance reasons, PayNearMe cannot collect the phone number directly from the player for this withdrawal method.

Once players click Done, PayNearMe will either redirect them to a page you have configured or passed in the API call or will send a JavaScript callback to your front end indicating that the process completed, and that the player must now go pick up his/her cash.

The player then receives two SMS messages.

At the ATM, the player will enter the Order ID (i.e., value starting with MC) sent in the SMS message, the 4-digit PIN he/she created in the PayNearMe withdrawal flow, the amount of the withdrawal, and his/her phone number to receive the cash payout. Once the ATM disburses the cash, PayNearMe sends a Push Confirmation callback to you indicating that the player has received his/her withdrawal.

API Examples

/create_push_order

curl -X POST https://api.paynearme-sandbox.com/json-api/create_push_order -L \
  -d push_city=San Francisco \
  -d push_first_name=John \
  -d push_last_name=Smith \
  -d push_postal_code=94118 \
  -d push_street=123 main st \
  -d push_year_of_birth=1980 \
  -d push_country=US \
  -d push_user_identifier=testuser1 \
  -d site_customer_identifier=testcustomerid1 \
  -d site_identifier=S7162271563 \
  -d order_type=any \
  -d order_is_standing=true \
  -d site_customer_phone=5038943259 \
{
  "status": "ok",
  "order": {
    "site_name": "PNMSports",
    "site_logo_url": "https://www.paynearme-sandbox.com",
    "type": "push_order",
    "site_identifier": "S7162271563",
    "require_auth_tracker": "false",
    "pnm_order_crid": "xeKpFv",
    "pnm_customer_language": "en",
    "pnm_order_identifier": "52442387306",
    "pnm_order_short_identifier": "IM6F8W",
    "site_order_key": "testcustomerid1",
    "disbursement_status": "queried_user",
    "order_created": "2022-04-13 11:38:37 -0700",
    "order_status": "open",
    "minimum_payment_amount": "0.00",
    "minimum_payment_currency": "USD",
    "order_type": "any",
    "order_is_standing": "true",
    "electronic_payments": {
      "payment_methods": null
    },
    "custom_parameters": {
      "ext_table_identifier": "LI894189260"
    },
    "customer": {
      "pnm_customer_identifier": "U6245856246",
      "site_customer_identifier": "testcustomerid1",
      "pnm_customer_phone": "5038943259",
      "pnm_customer_addressee": "5038943259",
      "pnm_customer_street": "123 main st",
      "pnm_customer_city": "San Francisco",
      "pnm_customer_state": "CA",
      "pnm_customer_postal_code": "94118"
    },
    "users": {
      "user": {
        "user_type": "push",
        "push_user_identifier": "testuser1",
        "pnm_user_identifier": "U7225657111",
        "push_user_status": "not_validated",
        "push_first_name": "John",
        "push_last_name": "Smith",
        "push_full_name": "John Smith",
        "push_street": "123 main st",
        "push_city": "San Francisco",
        "push_state": "CA",
        "push_postal_code": "94118",
        "push_country": "US",
        "push_year_of_birth": "1980",
        "push_pre_verified": "false",
        "push_manually_verified": "false"
      }
    }
  }
}

/get_smart_token

curl -X POST https://api.paynearme-sandbox.com/json-api/get_smart_token -L \
  -d site_customer_identifier=testcustomerid1 \
  -d site_identifier=S7162271563 \
  -d payment_amount=60 \
  -d payment_field_fixed=true \
  -d version=3.0 \
  -d timestamp=1649875424 \
  -d signature=2bc4bd6cd92d999a078b2e32f4cab03490661c1e3d10d0ca5929472b21eba8fd
{
  "status": "ok",
  "orders": [
    {
      "pnm_order_identifier": "52442387306",
      "type": "push_order",
      "secure_smart_token": "h7PJxl$v5xDKtvAT4NGAja4TyS4SLvtK5Le$33KP9vITdYbPQzsZlRihcCKDgdHcj6AIPsIuFgb8q4Pb$lESCFnNaMEFm88bP9Mh$Lss9Cr0nYq!YKiJvYd7m2auKIbE",
      "secure_smart_link": "https://www.paynearme-sandbox.com/ssl/h7PJxl$v5xDKtvAT4NGAja4TyS4SLvtK5Le$33KP9vITdYbPQzsZlRihcCKDgdHcj6AIPsIuFgb8q4Pb$lESCFnNaMEFm88bP9Mh$Lss9Cr0nYq!YKiJvYd7m2auKIbE"
    },
    {
      "pnm_order_identifier": "86779224791",
      "type": "order",
      "secure_smart_token": "N4UO8AZ356J6dOWaaGc3kRdTdft0RkvPE6UgR2oo7VIu26wnC5UZc0F4vw8Y8Barj6AIPsIuFgb8q4Pb$lESCFnNaMEFm88bP9Mh$Lss9Cr0nYq!YKiJvYd7m2auKIbE",
      "secure_smart_link": "https://www.paynearme-sandbox.com/ssl/N4UO8AZ356J6dOWaaGc3kRdTdft0RkvPE6UgR2oo7VIu26wnC5UZc0F4vw8Y8Barj6AIPsIuFgb8q4Pb$lESCFnNaMEFm88bP9Mh$Lss9Cr0nYq!YKiJvYd7m2auKIbE",
      "order_tracking_url": "https://www.paynearme-sandbox.com/86779224791"
    }
  ]
}

Push Authorization Callback

{
  "ext_pin4_code_pii": "1234",
  "pnm_order_identifier": "52442387306",
  "pnm_payment_identifier": "452326595410",
  "net_payment_amount": "60.00",
  "net_payment_currency": "USD",
  "payment_amount": "66.00",
  "payment_currency": "USD",
  "payment_date": "1649875845",
  "timestamp": "1649875846",
  "status": "payment",
  "pnm_withheld_amount": "6.00",
  "pnm_withheld_currency": "USD",
  "due_to_recipient_amount": "60.00",
  "due_to_recipient_currency": "USD",
  "payment_type": "pin4",
  "site_customer_id":"testcustomerid1",
  "site_identifier": "S7162271563",
  "signature": "f48e7fb82e36d3a70d90d41a27fcea89f87c2ff6eb4aa056b729165004bfc6c6"
}
{
  "payment_authorization_response": {
    "version": "3.0",
    "authorization": {
      "pnm_order_identifier": "52442387306",
      "accept_payment": "yes",
      "site_payment_identifier": "52442387306-1649875846"
    }
  }
}

Push Confirmation Callback

{
  "ext_pin4_code_pii": "1234",
  "ext_pin4_campaign": "D-Day",
  "pnm_order_identifier": "52442387306",
  "pnm_payment_identifier": "452326595410",
  "site_customer_identifier": "testcustomerid1",
  "site_payment_identifier": "52442387306-1649875846",
  "version": "3.0",
  "net_payment_amount": "60.00",
  "net_payment_currency": "USD",
  "payment_amount": "66.00",
  "payment_currency": "USD",
  "timestamp": "1649879183",
  "status": "payment",
  "pnm_withheld_amount": "6.00",
  "pnm_withheld_currency": "USD",
  "due_to_recipient_amount": "60.00",
  "due_to_recipient_currency": "USD",
  "payment_timestamp": "2022-04-13 12:45:22 -0700",
  "order_payee_identifier": "S7162271563",
  "payment_type": "pin4",
  "site_identifier": "S7162271563",
  "signature":"24a64211cbf2c50603a20f7f2f398c93222c15af2d409103ab19e75e77756701"
}
{
  "payment_confirmation_response": {
    "version": "3.0",
    "confirmation": {
      "pnm_order_identifier": "52442387306"
    }
  }