Limitations of Customer Payment REST API in NetSuite

The standard REST API for updating customer payments in NetSuite currently lacks the capability to update the payment method within a payment transaction. There are no fields available to send this information to the NetSuite endpoint.

As a result, the only way to update the payment method for a payment transaction is through customization. One possible approach is to create a custom text field in the payment transaction where the requested payment method can be set. Once the request is sent, the value can be transferred to the standard payment method field using a beforesubmit action in a workflow or a user event script.

It is important to note that this limitation is based on the current releases and may be subject to change in future updates.

Please refer to the customer payment GET payload.

{

  “links”: [

    {

      “rel”: “self”,

      “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/customerpayment/6426”

    }

  ],

  “account”: {

    “links”: [

      {

        “rel”: “self”,

        “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/account/4”

      }

    ],

    “id”: “4”,

    “refName”: “Petty Cash”

  },

  “applied”: 15.0,

  “apply”: {

    “links”: [

      {

        “rel”: “self”,

        “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/customerpayment/6426/apply”

      }

    ]

  },

  “balance”: -290.0,

  “cleared”: false,

  “createdDate”: “2024-01-04T15:28:00Z”,

  “credit”: {

    “links”: [

      {

        “rel”: “self”,

        “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/customerpayment/6426/credit”

      }

    ]

  },

  “currency”: {

    “links”: [

      {

        “rel”: “self”,

        “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/currency/1”

      }

    ],

    “id”: “1”,

    “refName”: “USA”

  },

  “custbody5”: {

    “links”: [

      {

        “rel”: “self”,

        “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/customerpayment/6426/custbody5”

      }

    ]

  },

  “custbody_me_invlink_statement_ref”: “ERROR: Field ‘internalid’ Not Found”,

  “custbody_me_rp_recurpay_generated”: false,

  “custbodymes_card_present”: false,

  “customer”: {

    “links”: [

      {

        “rel”: “self”,

        “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/customer/1”

      }

    ],

    “id”: “1”,

    “refName”: “Anonymous Customer”

  },

  “customForm”: {

    “id”: “70”,

    “refName”: “Standard Customer Payment”

  },

  “deposit”: {

    “links”: [

      {

        “rel”: “self”,

        “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/customerpayment/6426/deposit”

      }

    ]

  },

  “exchangeRate”: 1.0,

  “id”: “6426”,

  “lastModifiedDate”: “2024-01-04T15:28:00Z”,

  “payment”: 15.0,

  “paymentOperation”: {

    “id”: “SALE”,

    “refName”: “Sale”

  },

  “pending”: 0.0,

  “postingPeriod”: {

    “links”: [

      {

        “rel”: “self”,

        “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/accountingperiod/3”

      }

    ],

    “id”: “3”,

    “refName”: “Jan 2021”

  },

  “prevDate”: “2024-01-04”,

  “status”: {

    “id”: “Deposited”,

    “refName”: “Deposited”

  },

  “subsidiary”: {

    “links”: [

      {

        “rel”: “self”,

        “href”: “https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/subsidiary/1”

      }

    ],

    “id”: “1”,

    “refName”: “Parent Company”

  },

  “toBeEmailed”: false,

  “total”: 15.0,

  “tranDate”: “2024-01-04”,

  “tranId”: “3844”,

  “unapplied”: 0.0,

  “undepFunds”: {

    “id”: false,

    “refName”: “Account”

  }

}

There is no payment method specified.

Refer the community link: https://community.oracle.com/netsuite/english/discussion/4490250/how-to-specify-payment-method-in-rest-post-for-customerpayment

Leave a comment

Your email address will not be published. Required fields are marked *