Disbursing from the API

Disbursement API calls use the same protocols and architecture as payment API calls. Disbursement calls, however, require the merchant to create a disbursement order, or push order, and a validated user, or push user. A push order is a representation of a pending disbursement for a given push user. A push user represents the consumer who will be receiving the disbursement funds. Depending on your preferred data model, you can create push users when creating push orders (i.e., /create_push_order) or you can create the user in a separate call (i.e., /create_user).

Typically, clients stage disbursement orders in the API (/create_push_order), have consumers enter their preferred payment method information via the Consumer Portal, and then make the disbursement payment in the API (/make_payment). The following diagram displays this sequence of events for disbursements via the API. Your configuration may be different depending on your merchant site’s customizations.

Fully integrated clients have the option to create the consumer payment method where the disbursement funds will be sent by using the /create_payment_method call. The following diagram illustrates the data flow.

Getting Started

Before you begin development, you will need to set up your Sandbox and Production environments by completing the following tasks:

  1. Create a Key Identifier and Secret Key pair.
  2. Add code to your site for signature generation.

For a more detailed explanation, see the Getting Started section in the API Reference.

Creating a Push Order

All push orders must be associated with a user. PayNearMe can configure your settings to create a user when the push order is created, or you can create the user in a separate call prior to creating the push order. Use the following fields to make a /create_push_order request.

ParameterDescriptionTypeLengthReq
site_identifierThe ID number of the merchant’s site. This value can be found in the Developer tab of the PayNearMe Business Portal.string10R
version3.0string2R
timestampThe time in Unix Epoch Standard time.string255R
signatureA unique string of characters that is calculated by running alphabetized, concatenated parameters of the call through an HMAC-SHA256 digest.string255R
order_amountThe exact amount to be disbursed to the consumerstring10R
order_currencyUSDstring3R
site_customer_identifierA unique string the merchant defines to represent the consumer.string255R
site_customer_phoneThe consumer’s mobile phone number.string255R
site_customer_emailThe consumer’s email addressstring255R
push_user_identifierThe unique, merchant-defined ID of the person receiving the disbursement funds. If this was created after making a /create_user call, the fields listed below are not required. However, if you want to create the user at the same time you’re creating the push order, the fields below are required.string255R
push_first_nameThe first name of the push userstring255C*
push_last_nameThe last name of the push userstring255C*
push_postal_codeThe user’s billing zip codestring10C*
push_streetThe first line of the user’s billing street addressstring255C*
push_cityThe user’s billing citystring255C*
push_stateThe user’s billing statestring2C*
push_countryThe user’s countrystring2C*
push_year_of_birthThe user’s birthday year in YYYY format.string4C*

*Only required if creating the user at the same time as the push order.

Create a Push Order Code Sample

curl --request POST \
     --url https://api.paynearme-sandbox.com/json-api/create_push_order \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "site_identifier": "S2411573363",
  "version": "3.0",
  "order_currency": "USD",
  "push_user_identifier": "65732491",
  "order_amount": "1000",
  "timestamp": "1707334494",
  "signature": "6513f111c627e58b3468658fbfca19183b5e9aeb31d9387935ea69fa4b7bbc23",
  "site_customer_identifier": "12345678"
}
'
{
  "status": "ok",
  "order": {
    "site_name": "Readme API ",
    "site_logo_url": "https://www.paynearme-sandbox.com",
    "type": "push_order",
    "site_identifier": "S2411573363",
    "require_auth_tracker": "false",
    "pnm_order_crid": "uGFu7o",
    "pnm_customer_language": "en",
    "pnm_order_identifier": "52215315593",
    "pnm_order_short_identifier": "0G39YT",
    "site_order_key": "12345678",
    "disbursement_status": "queried_user",
    "order_created": "2024-02-07 11:34:55 -0800",
    "order_status": "open",
    "order_amount": "1000.00",
    "order_currency": "USD",
    "minimum_payment_amount": "1000.00",
    "minimum_payment_currency": "USD",
    "order_type": "exact",
    "order_is_standing": "false",
    "pnm_balance_due_amount": "1000.00",
    "pnm_balance_due_currency": "USD",
    "order_tracking_url": "https://www.paynearme-sandbox.com/add_card/77BuXG96uQA6$isZkLcHz3utBCnnRrFo",
    "auto_pay": null,
    "electronic_payments": {
      "embedded_js_url": "https://www.paynearme-sandbox.com/api/embedded/ImLbWKftYK5ZvbYHSzTnng/script.js",
      "payment_methods": [
        {
          "type": "ach_push",
          "payment_type_identifier": "FM354385305",
          "description": "Evolve ACH Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "push_debit",
          "payment_type_identifier": "FM914669222",
          "description": "TabaPay Push Debit",
          "fee_amount": "0.50",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "paypal_push",
          "payment_type_identifier": "FM342650939",
          "description": "PayPal Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "venmo_push",
          "payment_type_identifier": "FM634801251",
          "description": "Venmo Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        }
      ]
    },
    "customer": {
      "pnm_customer_identifier": "U2636648419",
      "site_customer_identifier": "12345678",
      "pnm_customer_addressee": "Anonymous",
      "pnm_customer_street": "123 Fake Street",
      "pnm_customer_city": "Dallas",
      "pnm_customer_state": "TX",
      "pnm_customer_postal_code": "75221",
      "pnm_customer_language": "en"
    },
    "users": {
      "user": {
        "user_type": "push",
        "push_user_identifier": "65732491",
        "pnm_user_identifier": "U1215185386",
        "push_user_status": "ok_to_receive",
        "push_first_name": "Johnny",
        "push_middle_name": "Diego",
        "push_last_name": "Smith",
        "push_full_name": "Johnny Diego Smith",
        "push_street": "123 Fake Street",
        "push_city": "Allen",
        "push_state": "TX",
        "push_postal_code": "75013",
        "push_country": "US",
        "push_year_of_birth": "1980",
        "push_pre_verified": "false",
        "push_manually_verified": "false"
      }
    }
  }
}

Create a Push Order with User Code Sample

curl --request POST \
     --url https://api.paynearme-sandbox.com/json-api/create_push_order \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "site_identifier": "S2411573363",
  "version": "3.0",
  "order_currency": "USD",
  "site_customer_identifier": "15995123",
  "push_user_identifier": "15995123",
  "push_first_name": "John",
  "push_last_name": "Smith",
  "push_year_of_birth": "1982",
  "push_street": "123 Fake Street",
  "push_city": "Allen",
  "push_postal_code": "75013",
  "push_country": "US",
  "timestamp": "1707335115",
  "signature": "18e9bf88e376f0053d3cd4293551e233a4217f05c63be32a2179f9d3486f2ba2",
  "order_amount": "500",
  "site_customer_phone": "2144485393"
}
'
{
  "status": "ok",
  "order": {
    "site_name": "Readme API ",
    "site_logo_url": "https://www.paynearme-sandbox.com",
    "type": "push_order",
    "site_identifier": "S2411573363",
    "require_auth_tracker": "false",
    "pnm_order_crid": "h9gg6p",
    "pnm_customer_language": "en",
    "pnm_order_identifier": "51011757109",
    "pnm_order_short_identifier": "03RKXJ",
    "site_order_key": "15995123",
    "disbursement_status": "queried_user",
    "order_created": "2024-02-07 11:45:16 -0800",
    "order_status": "open",
    "order_amount": "500.00",
    "order_currency": "USD",
    "minimum_payment_amount": "500.00",
    "minimum_payment_currency": "USD",
    "order_type": "exact",
    "order_is_standing": "false",
    "pnm_balance_due_amount": "500.00",
    "pnm_balance_due_currency": "USD",
    "order_tracking_url": "https://www.paynearme-sandbox.com/add_card/9HzVpYzuTvDVrIEk58eUbj1n4W05vpyv",
    "auto_pay": null,
    "electronic_payments": {
      "embedded_js_url": "https://www.paynearme-sandbox.com/api/embedded/xUjRb4UZzfKBHFzAM0B94g/script.js",
      "payment_methods": [
        {
          "type": "ach_push",
          "payment_type_identifier": "FM354385305",
          "description": "Evolve ACH Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "push_debit",
          "payment_type_identifier": "FM914669222",
          "description": "TabaPay Push Debit",
          "fee_amount": "0.50",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "paypal_push",
          "payment_type_identifier": "FM342650939",
          "description": "PayPal Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "venmo_push",
          "payment_type_identifier": "FM634801251",
          "description": "Venmo Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        }
      ]
    },
    "customer": {
      "pnm_customer_identifier": "U3374279360",
      "site_customer_identifier": "15995123",
      "pnm_customer_phone": "2144485393",
      "pnm_customer_addressee": "2144485393",
      "pnm_customer_street": "123 Fake Street",
      "pnm_customer_city": "Allen",
      "pnm_customer_state": "TX",
      "pnm_customer_postal_code": "75013"
    },
    "users": {
      "user": {
        "user_type": "push",
        "push_user_identifier": "15995123",
        "pnm_user_identifier": "U2091919719",
        "push_user_status": "ok_to_receive",
        "push_first_name": "John",
        "push_last_name": "Smith",
        "push_full_name": "John Smith",
        "push_street": "123 Fake Street",
        "push_city": "Allen",
        "push_state": "TX",
        "push_postal_code": "75013",
        "push_country": "US",
        "push_year_of_birth": "1982",
        "push_pre_verified": "false",
        "push_manually_verified": "false"
      }
    }
  }
}

Creating a Push User

A push user is the representation of a consumer who will receive the funds from a disbursement. Once created, push users can be used with multiple push orders. If you choose not to create a push user at the same time as the /create_push_order call, you will need to create the user before the /create_push_order call using the /create_user call. When creating users, be sure to include the following required fields.

ParameterDescriptionTypeLengthReq
site_identifierThe ID number of the merchant’s site. This value can be found in the Developer tab of the PayNearMe Business Portal.string10R
version3.0string2R
timestampThe time in Unix Epoch Standard time.string255R
signatureA unique string of characters that is calculated by running alphabetized, concatenated parameters of the call through an HMAC-SHA256 digest.string255R
site_user_identifierUnique ID of the consumer receiving the disbursement. It can be the same value as the site_order_annotation parameter.string255R
user_typepushstring4R
push_user_identifierThe unique, merchant-defined ID of the person receiving the disbursement funds.string255R
push_first_nameThe first name of the push userstring255R
push_last_nameThe last name of the push userstring255R
push_postal_codeThe user’s billing zip codestring10R
push_streetThe first line of the user’s billing street addressstring255R
push_cityThe user’s billing citystring255R
push_stateThe user’s billing statestring2R
push_countryThe user’s countrystring2R
push_year_of_birthThe user’s birthday year in YYYY format.string4R

Create a Push User Code Sample

curl --request POST \
     --url https://api.paynearme-sandbox.com/json-api/create_user \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "site_identifier": "S2411573363",
  "version": "3.0",
  "user_type": "push",
  "site_user_identifier": "456987123",
  "timestamp": "1707334886",
  "signature": "d4b2343866ea0a35f216d82836cc489cd5a40e3c59faea93bbb7b245e13464b6",
  "first_name": "Johnny",
  "middle_name": "Diego",
  "last_name": "Smith",
  "year_of_birth": "1980",
  "street": "123 Fake Street",
  "city": "Allen",
  "state": "TX",
  "postal_code": "75013",
  "country": "US"
}
'
{
  "status": "ok",
  "user": {
    "user_type": "push",
    "push_user_identifier": "456987123",
    "pnm_user_identifier": "U8015041267",
    "push_user_status": "ok_to_receive",
    "push_first_name": "Johnny",
    "push_middle_name": "Diego",
    "push_last_name": "Smith",
    "push_full_name": "Johnny Diego Smith",
    "push_street": "123 Fake Street",
    "push_city": "Allen",
    "push_state": "TX",
    "push_postal_code": "75013",
    "push_country": "US",
    "push_year_of_birth": "1980",
    "push_pre_verified": "false",
    "push_manually_verified": "false"
  }
}

Creating a Payment Method

All disbursements require a tokenized payment method to make the payment to the consumer. Consumers can add their debit card, bank account, paypal, and venmo payment methods in the Consumer Portal or agents can enter debit card or bank account payment method information into the Agent Interface. Payment method information can also be added via the /create_payment_method request in the API. Use the following required parameters to create a payment method.

🚧

Requirements for PayPal/Venmo Disbursements

PayPal/Venmo disbursements are for clients who meet the following requirements:

  • Have an existing business account with PayPal
  • Have a prior integration with PayPal

These requirements ensure that you’ll have access to the pay_pal_account_id and pay_pal_account_email values (for PayPal disbursements) and the venmo_username (for Venmo disbursements).

ParameterDescriptionTypeLengthReq
site_identifierThe ID number of the merchant’s site. This value can be found in the Developer tab of the PayNearMe Business Portal.string10R
version3.0string2R
timestampThe time in Unix Epoch Standard time.string255R
signatureA unique string of characters that is calculated by running alphabetized, concatenated parameters of the call through an HMAC-SHA256 digest.string255R
payment_method_typeThe type of payment method you are creating. Supported options include the following:
  • ach
  • card
  • paypal
  • venmo
enum6R
payment_method_billing_nameThe name of the account holder.string50R
pnm_order_identifierThe PayNearMe-generated ID of the push orderstring255R
payment_method_ach_aba_piiThe routing number of the bank where this bank account is held.string9R1
payment_method_ach_account_piiThe account number of the consumer’s bank account.string12R1
payment_method_card_number_piiThe account number of the consumer's debit cardstring16R2
payment_method_cvv_piiThe card verification value (CVV) of the debit card.string4R2
payment_method_card_expiry_piiThe expiration date of the debit card in MM/YYYY format.string6R2
payment_method_billing_addressThe billing street address associated with the debit card.string255R2
payment_method_billing_zipcodeThe 5- or 9-digit billing ZIP code associated with the debit card or bank account.string9R
payment_method_billing_phoneThe phone number of the account holder associated with this debit card.string15R2
payment_method_paypal_account_idThe Merchant ID associated with your PayPal Business Account.string255R3
payment_method_paypal_account_emailThe consumer's email address that is associated with his/her/their PayPal account.string255R3
payment_method_venmo_usernameThe consumer's Venmo username.string255R4

1 - This field is only required when payment_method_type=ach.
2 - This field is only required when payment_method_type=card.
3 - This field is only required when payment_method_type=paypal.
4 - This field is only required when payment_method_type=venmo.

Create a Debit Card Payment Method Code Sample

curl --request POST \
     --url https://api.paynearme-sandbox.com/json-api/create_payment_method \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payment_method_type": "card",
  "site_identifier": "S2411573363",
  "version": "3.0",
  "pnm_order_identifier": "58235647966",
  "timestamp": "1707327376",
  "signature": "6fdac63891baf216f84f9111ccc6207503c42c80592b90ac9677381f592af1bc",
  "payment_method_card_number_pii": "9999-9256-7644-3023",
  "payment_method_card_expiry_pii": "11/26",
  "payment_method_cvv_pii": "437",
  "payment_method_billing_name": "Son Tran",
  "payment_method_billing_address": "148 Jerica Summit",
  "payment_method_billing_zipcode": "87522",
  "payment_method_billing_phone": "845-562-9531"
}
'
{
  "status": "ok",
  "order": {
    "site_name": "Readme API ",
    "site_logo_url": "https://www.paynearme-sandbox.com",
    "type": "push_order",
    "site_identifier": "S2411573363",
    "require_auth_tracker": "false",
    "pnm_order_crid": "fdN3Gt",
    "pnm_customer_language": "en",
    "pnm_order_identifier": "58235647966",
    "pnm_order_short_identifier": "LZK6Q2",
    "site_order_key": "88889999",
    "disbursement_status": "queried_user",
    "order_created": "2024-02-07 09:34:49 -0800",
    "order_status": "open",
    "order_amount": "500.00",
    "order_currency": "USD",
    "minimum_payment_amount": "500.00",
    "minimum_payment_currency": "USD",
    "order_type": "exact",
    "order_is_standing": "false",
    "pnm_balance_due_amount": "500.00",
    "pnm_balance_due_currency": "USD",
    "order_tracking_url": "https://www.paynearme-sandbox.com/add_card/ZxmCwZPu4Y0P87IPJlwChVWsCJt009YR",
    "auto_pay": null,
    "electronic_payments": {
      "embedded_js_url": "https://www.paynearme-sandbox.com/api/embedded/B-7ydcbhHP8VqAnMvT0vAA/script.js",
      "payment_methods": [
        {
          "type": "ach_push",
          "payment_type_identifier": "FM354385305",
          "description": "Evolve ACH Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "push_debit",
          "payment_type_identifier": "FM914669222",
          "description": "TabaPay Push Debit",
          "fee_amount": "0.50",
          "fee_currency": "USD",
          "accounts": [
            {
              "payment_method_identifier": "7103bd1eb82c0",
              "status": "active",
              "name": "Son Tran",
              "description": "Debit Card",
              "account_type": "Debit",
              "number": "3023",
              "fee_amount": "0.50",
              "fee_currency": "USD"
            }
          ]
        },
        {
          "type": "paypal_push",
          "payment_type_identifier": "FM342650939",
          "description": "PayPal Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "venmo_push",
          "payment_type_identifier": "FM634801251",
          "description": "Venmo Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        }
      ]
    },
    "customer": {
      "pnm_customer_identifier": "U1702301164",
      "site_customer_identifier": "88889999",
      "pnm_customer_addressee": "Anonymous",
      "pnm_customer_street": "123 Fake Street",
      "pnm_customer_city": "Allen",
      "pnm_customer_state": "TX",
      "pnm_customer_postal_code": "75013"
    },
    "users": {
      "user": {
        "user_type": "push",
        "push_user_identifier": "12345678",
        "pnm_user_identifier": "U4468501505",
        "push_user_status": "ok_to_receive",
        "push_first_name": "Yolanda",
        "push_last_name": "Headwaithe",
        "push_full_name": "Yolanda Headwaithe",
        "push_street": "123 Fake Street",
        "push_city": "Allen",
        "push_state": "TX",
        "push_postal_code": "75013",
        "push_country": "US",
        "push_year_of_birth": "1950",
        "push_pre_verified": "false",
        "push_manually_verified": "false"
      }
    }
  }
}

Create a Bank Account Payment Method

curl --request POST \
     --url https://api.paynearme-sandbox.com/json-api/create_payment_method \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payment_method_type": "ach",
  "site_identifier": "S2411573363",
  "version": "3.0",
  "pnm_order_identifier": "58235647966",
  "timestamp": "1707327579",
  "signature": "7fb28ce15e8c87e11094bba98fdcae0df671ac45b8590e2093158983d589683d",
  "payment_method_ach_aba_pii": "082-901-428",
  "payment_method_ach_account_pii": "549260397",
  "payment_method_billing_name": "John Smith",
  "payment_method_billing_zipcode": "75013"
}
'
{
  "status": "ok",
  "order": {
    "site_name": "Readme API ",
    "site_logo_url": "https://www.paynearme-sandbox.com",
    "type": "push_order",
    "site_identifier": "S2411573363",
    "require_auth_tracker": "false",
    "pnm_order_crid": "fdN3Gt",
    "pnm_customer_language": "en",
    "pnm_order_identifier": "58235647966",
    "pnm_order_short_identifier": "LZK6Q2",
    "site_order_key": "88889999",
    "disbursement_status": "queried_user",
    "order_created": "2024-02-07 09:34:49 -0800",
    "order_status": "open",
    "order_amount": "500.00",
    "order_currency": "USD",
    "minimum_payment_amount": "500.00",
    "minimum_payment_currency": "USD",
    "order_type": "exact",
    "order_is_standing": "false",
    "pnm_balance_due_amount": "500.00",
    "pnm_balance_due_currency": "USD",
    "order_tracking_url": "https://www.paynearme-sandbox.com/add_card/ZxmCwZPu4Y0P87IPJlwChQhGLbOmBcDS",
    "auto_pay": null,
    "electronic_payments": {
      "embedded_js_url": "https://www.paynearme-sandbox.com/api/embedded/B-7ydcbhHP8VqAnMvT0vAA/script.js",
      "payment_methods": [
        {
          "type": "ach_push",
          "payment_type_identifier": "FM354385305",
          "description": "Evolve ACH Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": [
            {
              "payment_method_identifier": "5e0387daf1a7a",
              "status": "active",
              "name": "John Smith",
              "description": "Simmons First National Bank",
              "account_type": "Personal Checking",
              "number": "0397",
              "fee_amount": "0.00",
              "fee_currency": "USD"
            }
          ]
        },
        {
          "type": "push_debit",
          "payment_type_identifier": "FM914669222",
          "description": "TabaPay Push Debit",
          "fee_amount": "0.50",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "paypal_push",
          "payment_type_identifier": "FM342650939",
          "description": "PayPal Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "venmo_push",
          "payment_type_identifier": "FM634801251",
          "description": "Venmo Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        }
      ]
    },
    "customer": {
      "pnm_customer_identifier": "U1702301164",
      "site_customer_identifier": "88889999",
      "pnm_customer_addressee": "Anonymous",
      "pnm_customer_street": "123 Fake Street",
      "pnm_customer_city": "Allen",
      "pnm_customer_state": "TX",
      "pnm_customer_postal_code": "75013"
    },
    "users": {
      "user": {
        "user_type": "push",
        "push_user_identifier": "12345678",
        "pnm_user_identifier": "U4468501505",
        "push_user_status": "ok_to_receive",
        "push_first_name": "Yolanda",
        "push_last_name": "Headwaithe",
        "push_full_name": "Yolanda Headwaithe",
        "push_street": "123 Fake Street",
        "push_city": "Allen",
        "push_state": "TX",
        "push_postal_code": "75013",
        "push_country": "US",
        "push_year_of_birth": "1950",
        "push_pre_verified": "false",
        "push_manually_verified": "false"
      }
    }
  }
}

Create a PayPal Payment Method

curl --request POST \
     --url https://api.paynearme-sandbox.com/json-api/create_payment_method \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payment_method_type": "paypal",
  "site_identifier": "S2411573363",
  "version": "3.0",
  "pnm_order_identifier": "58235647966",
  "timestamp": "1707327719",
  "signature": "27c957694072727b629c2b7a7aee25955dd90e3c761f7cec2c77f672ad019329",
  "payment_method_paypal_account_id": "YB6935G4PHS92",
  "payment_method_paypal_account_email": "[email protected]"
}
'
{
  "status": "ok",
  "order": {
    "site_name": "Readme API ",
    "site_logo_url": "https://www.paynearme-sandbox.com",
    "type": "push_order",
    "site_identifier": "S2411573363",
    "require_auth_tracker": "false",
    "pnm_order_crid": "fdN3Gt",
    "pnm_customer_language": "en",
    "pnm_order_identifier": "58235647966",
    "pnm_order_short_identifier": "LZK6Q2",
    "site_order_key": "88889999",
    "disbursement_status": "queried_user",
    "order_created": "2024-02-07 09:34:49 -0800",
    "order_status": "open",
    "order_amount": "500.00",
    "order_currency": "USD",
    "minimum_payment_amount": "500.00",
    "minimum_payment_currency": "USD",
    "order_type": "exact",
    "order_is_standing": "false",
    "pnm_balance_due_amount": "500.00",
    "pnm_balance_due_currency": "USD",
    "order_tracking_url": "https://www.paynearme-sandbox.com/add_card/ZxmCwZPu4Y0P87IPJlwChV$t$VMcf!3A",
    "auto_pay": null,
    "electronic_payments": {
      "embedded_js_url": "https://www.paynearme-sandbox.com/api/embedded/B-7ydcbhHP8VqAnMvT0vAA/script.js",
      "payment_methods": [
        {
          "type": "ach_push",
          "payment_type_identifier": "FM354385305",
          "description": "Evolve ACH Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "push_debit",
          "payment_type_identifier": "FM914669222",
          "description": "TabaPay Push Debit",
          "fee_amount": "0.50",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "paypal_push",
          "payment_type_identifier": "FM342650939",
          "description": "PayPal Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": [
            {
              "payment_method_identifier": "4a49e483ff3ba",
              "status": "active",
              "description": "PayPal",
              "pay_pal_account_id": "YB6935G4PHS92",
              "pay_pal_account_email": "[email protected]",
              "fee_amount": "0.00",
              "fee_currency": "USD"
            }
          ]
        },
        {
          "type": "venmo_push",
          "payment_type_identifier": "FM634801251",
          "description": "Venmo Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        }
      ]
    },
    "customer": {
      "pnm_customer_identifier": "U1702301164",
      "site_customer_identifier": "88889999",
      "pnm_customer_addressee": "Anonymous",
      "pnm_customer_street": "123 Fake Street",
      "pnm_customer_city": "Allen",
      "pnm_customer_state": "TX",
      "pnm_customer_postal_code": "75013"
    },
    "users": {
      "user": {
        "user_type": "push",
        "push_user_identifier": "12345678",
        "pnm_user_identifier": "U4468501505",
        "push_user_status": "ok_to_receive",
        "push_first_name": "Yolanda",
        "push_last_name": "Headwaithe",
        "push_full_name": "Yolanda Headwaithe",
        "push_street": "123 Fake Street",
        "push_city": "Allen",
        "push_state": "TX",
        "push_postal_code": "75013",
        "push_country": "US",
        "push_year_of_birth": "1950",
        "push_pre_verified": "false",
        "push_manually_verified": "false"
      }
    }
  }
}

Create a Venmo Payment Method

curl --request POST \
     --url https://api.paynearme-sandbox.com/json-api/create_payment_method \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payment_method_type": "venmo",
  "site_identifier": "S2411573363",
  "version": "3.0",
  "pnm_order_identifier": "58235647966",
  "timestamp": "1707328771",
  "signature": "ce4eb08679b334a13e0511a1c59f7b3ffff004d7697ab099cc56a25e03223471",
  "payment_method_venmo_username": "venmojoe"
}
'
{
  "status": "ok",
  "order": {
    "site_name": "Readme API ",
    "site_logo_url": "https://www.paynearme-sandbox.com",
    "type": "push_order",
    "site_identifier": "S2411573363",
    "require_auth_tracker": "false",
    "pnm_order_crid": "fdN3Gt",
    "pnm_customer_language": "en",
    "pnm_order_identifier": "58235647966",
    "pnm_order_short_identifier": "LZK6Q2",
    "site_order_key": "88889999",
    "disbursement_status": "queried_user",
    "order_created": "2024-02-07 09:34:49 -0800",
    "order_status": "open",
    "order_amount": "500.00",
    "order_currency": "USD",
    "minimum_payment_amount": "500.00",
    "minimum_payment_currency": "USD",
    "order_type": "exact",
    "order_is_standing": "false",
    "pnm_balance_due_amount": "500.00",
    "pnm_balance_due_currency": "USD",
    "order_tracking_url": "https://www.paynearme-sandbox.com/add_card/ZxmCwZPu4Y0P87IPJlwChZ$29QuH63p0",
    "auto_pay": null,
    "electronic_payments": {
      "embedded_js_url": "https://www.paynearme-sandbox.com/api/embedded/B-7ydcbhHP8VqAnMvT0vAA/script.js",
      "payment_methods": [
        {
          "type": "ach_push",
          "payment_type_identifier": "FM354385305",
          "description": "Evolve ACH Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "push_debit",
          "payment_type_identifier": "FM914669222",
          "description": "TabaPay Push Debit",
          "fee_amount": "0.50",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "paypal_push",
          "payment_type_identifier": "FM342650939",
          "description": "PayPal Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": []
        },
        {
          "type": "venmo_push",
          "payment_type_identifier": "FM634801251",
          "description": "Venmo Push",
          "fee_amount": "0.00",
          "fee_currency": "USD",
          "accounts": [
            {
              "payment_method_identifier": "9e7cbaa8051fb",
              "status": "active",
              "description": "Venmo",
              "venmo_username": "venmojoe",
              "fee_amount": "0.00",
              "fee_currency": "USD"
            }
          ]
        }
      ]
    },
    "customer": {
      "pnm_customer_identifier": "U1702301164",
      "site_customer_identifier": "88889999",
      "pnm_customer_addressee": "Anonymous",
      "pnm_customer_street": "123 Fake Street",
      "pnm_customer_city": "Allen",
      "pnm_customer_state": "TX",
      "pnm_customer_postal_code": "75013"
    },
    "users": {
      "user": {
        "user_type": "push",
        "push_user_identifier": "12345678",
        "pnm_user_identifier": "U4468501505",
        "push_user_status": "ok_to_receive",
        "push_first_name": "Yolanda",
        "push_last_name": "Headwaithe",
        "push_full_name": "Yolanda Headwaithe",
        "push_street": "123 Fake Street",
        "push_city": "Allen",
        "push_state": "TX",
        "push_postal_code": "75013",
        "push_country": "US",
        "push_year_of_birth": "1950",
        "push_pre_verified": "false",
        "push_manually_verified": "false"
      }
    }
  }
}

Making the Disbursement Payment

The /make_payment call submits a transaction to the consumer as a disbursement. It must be associated with both a PayNearMe push order and a Payment Method Identifier which is created by either the consumer or the agent after staging the push order. Use the following required parameters to submit a disbursement payment.

ParameterDescriptionTypeLengthReq
site_identifierThe ID number of the merchant’s site.string10R
version3.0string2R
timestampThe time in Unix Epoch Standard time.string255R
signatureA unique string of characters that is calculated by running alphabetized, concatenated parameters of the call through an HMAC-SHA256 digest.string255R
payment_amountThe total amount that will be disbursed.string10R
payment_currencyUSDstring3R
pnm_order_identifierThe ID of the push orderstring255R
payment_method_identifierThe ID of the bank account where the disbursement will be sent.string255R
site_channelThe channel for the disbursement payment origin. Supported values include the following:
  • agent
  • consumer

Set to consumer when initiated by the consumer, and agent when initiated by your customer service team.
string25R

Make the Disbursement Payment

curl --request POST \
     --url https://api.paynearme-sandbox.com/json-api/make_payment \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "site_identifier": "S2411573363",
  "version": "3.0",
  "payment_currency": "USD",
  "site_channel": "all",
  "pnm_order_identifier": "58235647966",
  "payment_method_identifier": "7103bd1eb82c0",
  "timestamp": "1707333697",
  "signature": "028b63ff43f3441b66a7b3931721a8ebd90e92a851f0e48888ec803a2179135a",
  "payment_amount": "500.00"
}
'
{
  "status": "ok",
  "payment": {
    "payment_made": "2024-02-07 11:21:38 -0800",
    "payment_amount": "500.00",
    "payment_currency": "USD",
    "payment_status": "approved",
    "payment_type": "push_debit",
    "payment_account": "Debit Card 3023",
    "payment_method_identifier": "7103bd1eb82c0",
    "net_payment_amount": "499.50",
    "net_payment_currency": "USD",
    "payment_processing_fee": "0.50",
    "payment_processing_fee_currency": "USD",
    "pnm_processing_fee": "0.50",
    "pnm_processing_fee_currency": "USD",
    "settled_to_site": "false",
    "date_settled_to_merchant": "2024-02-07",
    "pnm_payment_identifier": "279722997355",
    "retailer_identifier": "FM914669222",
    "merchant_settlements": null
  }
}