Create a Payment with a Credit Card Transaction Imported from Another System

You can use the contract-based REST API to make an external system create an accounts receivable payment in MYOB Acumatica. This AR payment can include a credit card transaction imported from another system. You can view the created payments on the Payments and Applications (AR302000) form.

System Preparation

Before you test the code below, you need to do the following to configure your client application and the MYOB Acumatica instance to be used:
  1. Deploy a new MYOB Acumatica instance with the U100 dataset. For details on deploying an instance, see Instance Deployment: To Deploy an Instance with Demo Data.
  2. To sign in to the instance in the client application, use the tenant name (which you specified when you created the instance) and the HEADOFFICE branch.
  3. If you use Postman as the client application for testing, in the IntegrationDevelopmentGuide.postman_collection.json collection, make sure that the collection’s variables have the proper values. This collection is located in the IntegrationDevelopment\Help folder of the Help-and-Training-Examples repository on GitHub.

Request

You can use the following request example to create an AR payment with a credit card transaction imported from another system through the contract-based REST API.
Tip:
In the request example below, <MYOB Acumatica instance URL> is the URL of the MYOB Acumatica instance (such as https://my.acumatica.com/MyInstance). You can omit the instance name in the URL (that is, you can use https://my.acumatica.com) if the instance is installed in the root of the website.
PUT /Payment HTTP/1.1
Host: [<MYOB Acumatica instance URL>]/entity/Default/24.200.001
Accept: application/json
Content-Type: application/json

{
    "CustomerID": {
        "value": "HMBAKERY"
    },
    "PaymentAmount": {
        "value": 123.0000
    },
    "PaymentMethod": {
        "value": "VISA"
    },
    "CreditCardTransactionInfo": [
        {
            "TranNbr": {
                "value": "112224543839510314532923"
            },
            "TranType": {
                "value": "Authorize Only"
            },
            "NeedsValidation": {
                "value": true
            },
            "AuthNbr": {
                "value": "ebd4c8"
            }
        }
    ]
}

Usage Notes

You specify the following information about a credit card transaction in the request body:

  • TranNbr: The transaction ID from the credit card processing center.
  • TranType: The credit card transaction type.
  • NeedsValidation: An indicator of whether validation of the credit card transaction should be deferred. If the value is true, the payment will receive the Pending Processing status. During further transaction processing, the system will send a request to the processing center for verification of the data received through the API.
  • AuthNbr: The authorization number from the credit card processing center.