# Save Payments Save Payments Endpoint: POST /rest/2.0/PAYMENT Version: 1.0 Security: JWT ## Header parameters: - `sessionId` (string, required) ## Request fields (application/json; charset=utf-8): - `brmObjects` (object) - `brmObjects.PaymentGatewayProfileId` (integer) Payment Gateway Profile - `brmObjects.EcomTransactionId` (integer) Transaction Request Id: Transaction Id - `brmObjects.GatewayTransactionId` (string) Gateway Transaction Id - `brmObjects.UpdatedUserId` (string) System controlled field: Id of the last user that updated the record - `brmObjects.VoidWithoutGateway` (integer) Void Type: Void - annuls the payment and notifies payment gateway to return funds to the customer.Reversal - annuls the payment without notifying payment gateway of this event. - `brmObjects.CheckNumber` (string) Check Number - `brmObjects.GatewayTransactionStatus` (string) Gateway Transaction Status: Status of the payment as assigned by the payment gateway. Displayed for informational purposes only. Effect of the payment on the balance, and allocation to invoice is based on the Payment Status field. - `brmObjects.GatewayTransactionStatusDate` (string) Gateway Transaction Status Date - `brmObjects.Created` (string) System controlled field: Date and time the record was created - `brmObjects.EcomTransactionResponseId` (integer) Transaction Response Id - `brmObjects.PaymentType` (string, required) Payment Type - `brmObjects.VoidedPaymentId` (integer) Voided To - `brmObjects.CreditCardTransactionMessage` (string) Error Message - `brmObjects.LateApprovedBy` (integer) Late Approved By - `brmObjects.AllocatedToExtAccount` (string) Allocated to Other Accounts: Portion of payment distributed to other accounts via action - `brmObjects.PayoutId` (string) Payout ID: The payout ID is an ID of a payout record generated by payment gateway when the funds are deposited into your account, use it for payment reconciliation purposes. - `brmObjects.Updated` (string) System controlled field: Date and time the record was last updated - `brmObjects.ExternalReferenceId` (string) External Reference Id - `brmObjects.PaymentNote` (string, required) Notes - `brmObjects.Id` (string, required) Payment Item ID - `brmObjects.PaymentDate` (string, required) Payment Date - `brmObjects.CreatedUserId` (string) System controlled field: Id of the user that created the record - `brmObjects.AccountingPeriodId` (integer) Accounting Period - `brmObjects.VoidFlag` (string) Voided - `brmObjects.CreditCardTransactionStatus` (string) Payment Status - `brmObjects.Autoallocate` (integer) Auto-Allocate Payment - `brmObjects.SourcePaymentId` (integer) Source Payment Item Id: Points to the original payment that begot this payment as the result of action - `brmObjects.PaymentAllocationStrategy` (string) Payment Auto-Allocation: System can auto allocate payments to invoices in several ways: Oldest First - The system starts with the oldest open invoice and continues until it fully allocates the payment. Match to Invoice by Amount - The system finds the invoice that matches the payment amount. In case of multiple matches, it chooses the oldest invoice. Match by Custom Attribute Value - Use this option to create an allocation strategy based on custom fields. The system will match the incoming payment value in the field designated on the (Setup>Accounting Configuration>Payment Allocation page) against the values in the invoices with an identically named field. A payment allocation happens if a value passed in a custom field on the payment matches the value in an identically named custom field on an invoice. If no matching invoices are found, the payment remains unallocated. Keeps Unallocated - This setting requires users to allocate payments manually. - `brmObjects.CreditCardTransactionStatusCode` (string) Payment Status Code - `brmObjects.OperatorId` (string) Operator Id - `brmObjects.SinglePaymentGroup` (string) Single Payment Group: Single Payment Group for link a negative and positive payment - `brmObjects.HostedPaymentPageExternalId` (string) HostedPaymentPage External Id - `brmObjects.BillingProfileId` (integer, required) BillingProfileId: ACCOUNT NUMBER - `brmObjects.InvoiceIdDisplay` (string) InvoiceIdDisplay: Displayed on the invoice - `brmObjects.CreditCardExpDate` (string) CreditCardExpDate - `brmObjects.CreditCardName` (string) CreditCardName - `brmObjects.CreditCardNumber` (string) CreditCardNumber - `brmObjects.CreditCardCCV` (string) CreditCardCCV - `brmObjects.PendingAmount` (string) PendingAmount - `brmObjects.CreditCardType` (string) CreditCardType - `brmObjects.AchBankAcctNum` (string) AchBankAcctNum: Ach Bank Account Number - `brmObjects.Address1` (string) Address1: Credit Card Address - `brmObjects.City` (string) City: Credit Card City - `brmObjects.State` (string) State: Credit Card State - `brmObjects.Country` (string) Country: Credit Card Country - `brmObjects.Zip` (string) Zip: Credit Card Zip - `brmObjects.LockboxRecordId` (integer) LockboxRecordId - `brmObjects.ApproveInvoiceId` (integer) ApproveInvoiceId - `brmObjects.CreditCardToken` (string) CreditCardToken - `brmObjects.WalletId` (integer) WalletId: Wallet - `brmObjects.AchToken` (string) AchToken ## Response 200 fields (application/json): - `retrieveResponse` (object) - `retrieveResponse.PaymentGatewayProfileId` (integer) Payment Gateway Profile - `retrieveResponse.EcomTransactionId` (integer) Transaction Request Id: Transaction Id - `retrieveResponse.GatewayTransactionId` (string) Gateway Transaction Id - `retrieveResponse.UpdatedUserId` (string) System controlled field: Id of the last user that updated the record - `retrieveResponse.VoidWithoutGateway` (integer) Void Type: Void - annuls the payment and notifies payment gateway to return funds to the customer.Reversal - annuls the payment without notifying payment gateway of this event. - `retrieveResponse.CheckNumber` (string) Check Number - `retrieveResponse.GatewayTransactionStatus` (string) Gateway Transaction Status: Status of the payment as assigned by the payment gateway. Displayed for informational purposes only. Effect of the payment on the balance, and allocation to invoice is based on the Payment Status field. - `retrieveResponse.GatewayTransactionStatusDate` (string) Gateway Transaction Status Date - `retrieveResponse.Created` (string) System controlled field: Date and time the record was created - `retrieveResponse.EcomTransactionResponseId` (integer) Transaction Response Id - `retrieveResponse.PaymentType` (string) Payment Type - `retrieveResponse.VoidedPaymentId` (integer) Voided To - `retrieveResponse.CreditCardTransactionMessage` (string) Error Message - `retrieveResponse.LateApprovedBy` (integer) Late Approved By - `retrieveResponse.AllocatedToExtAccount` (string) Allocated to Other Accounts: Portion of payment distributed to other accounts via action - `retrieveResponse.PayoutId` (string) Payout ID: The payout ID is an ID of a payout record generated by payment gateway when the funds are deposited into your account, use it for payment reconciliation purposes. - `retrieveResponse.Updated` (string) System controlled field: Date and time the record was last updated - `retrieveResponse.ExternalReferenceId` (string) External Reference Id - `retrieveResponse.PaymentNote` (string) Notes - `retrieveResponse.Id` (string) Payment Item ID - `retrieveResponse.PaymentDate` (string) Payment Date - `retrieveResponse.CreatedUserId` (string) System controlled field: Id of the user that created the record - `retrieveResponse.AccountingPeriodId` (integer) Accounting Period - `retrieveResponse.VoidFlag` (string) Voided - `retrieveResponse.CreditCardTransactionStatus` (string) Payment Status - `retrieveResponse.Autoallocate` (integer) Auto-Allocate Payment - `retrieveResponse.SourcePaymentId` (integer) Source Payment Item Id: Points to the original payment that begot this payment as the result of action - `retrieveResponse.PaymentAllocationStrategy` (string) Payment Auto-Allocation: System can auto allocate payments to invoices in several ways: Oldest First - The system starts with the oldest open invoice and continues until it fully allocates the payment. Match to Invoice by Amount - The system finds the invoice that matches the payment amount. In case of multiple matches, it chooses the oldest invoice. Match by Custom Attribute Value - Use this option to create an allocation strategy based on custom fields. The system will match the incoming payment value in the field designated on the (Setup>Accounting Configuration>Payment Allocation page) against the values in the invoices with an identically named field. A payment allocation happens if a value passed in a custom field on the payment matches the value in an identically named custom field on an invoice. If no matching invoices are found, the payment remains unallocated. Keeps Unallocated - This setting requires users to allocate payments manually. - `retrieveResponse.CreditCardTransactionStatusCode` (string) Payment Status Code - `retrieveResponse.OperatorId` (string) Operator Id - `retrieveResponse.SinglePaymentGroup` (string) Single Payment Group: Single Payment Group for link a negative and positive payment - `retrieveResponse.HostedPaymentPageExternalId` (string) HostedPaymentPage External Id - `retrieveResponse.BillingProfileId` (integer) BillingProfileId: ACCOUNT NUMBER - `retrieveResponse.InvoiceIdDisplay` (string) InvoiceIdDisplay: Displayed on the invoice - `retrieveResponse.CreditCardExpDate` (string) CreditCardExpDate - `retrieveResponse.CreditCardName` (string) CreditCardName - `retrieveResponse.CreditCardNumber` (string) CreditCardNumber - `retrieveResponse.CreditCardCCV` (string) CreditCardCCV - `retrieveResponse.PendingAmount` (string) PendingAmount - `retrieveResponse.CreditCardType` (string) CreditCardType - `retrieveResponse.AchBankAcctNum` (string) AchBankAcctNum: Ach Bank Account Number - `retrieveResponse.Address1` (string) Address1: Credit Card Address - `retrieveResponse.City` (string) City: Credit Card City - `retrieveResponse.State` (string) State: Credit Card State - `retrieveResponse.Country` (string) Country: Credit Card Country - `retrieveResponse.Zip` (string) Zip: Credit Card Zip - `retrieveResponse.LockboxRecordId` (integer) LockboxRecordId - `retrieveResponse.ApproveInvoiceId` (integer) ApproveInvoiceId - `retrieveResponse.CreditCardToken` (string) CreditCardToken - `retrieveResponse.WalletId` (integer) WalletId: Wallet - `retrieveResponse.AchToken` (string) AchToken ## Response 400 fields (application/json): - `error` (string) Bad request - `message` (string) Bad request ## Response 401 fields (application/json): - `error` (string) Unauthorized - `message` (string) Unauthorized ## Response 404 fields (application/json): - `error` (string) Not found - `message` (string) Not found ## Response 429 fields (application/json): - `error` (string) Too many requests - `message` (string) Too many requests ## Response 500 fields (application/json): - `error` (string) Internal error - `message` (string) Internal error