# Payment Transactions Endpoint
## Flow
```
1. Determine the GatewayID
- GatewayID is assigned per payment component
-- CardPointe payment form should be assigned 1
-- NMI (coming soon) payment form should be assigned 2
2. Include GatewayID and PaymentModeID in the payload
- PaymentModeID are as follows
-- 1 for Card
-- 2 for ACH
-- 3 for Cash
-- 4 for Manual Payment
-- 5 for Digital Wallet
```
## ServiceURL and Payload
### Management
#### GenerateOrderID
> This endpoint is to generate the OrderID
##### Endpoint : /api/Transaction/generateorder
##### Payload :
```
{
"moduleTag": "string",
"tenantID": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
```
#### GenerateNumber
> This endpoint is similar to GenerateOrderID
##### Endpoint : /api/Transaction/generatenumber
##### Payload/Parameters :
```
tenantId: uniqueidentifier
moduleTag: string (refer to values)
```
###### ModuleTag values:
* VT = Virtual Terminal
* PL = Payment Link
* IN = Invoice
---
`May subject to change in the future for more flexibility`
#### ProcessCard
##### Endpoint : /api/GeneralProcess/processcard
##### Payload :
```
{
"departmentID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"token": "string",
"expiry": "string",
"cvV2": "string",
"amount": 0,
"currencyCode": "string",
"orderId": "string",
"name": "string",
"address": "string",
"city": "string",
"region": "string",
"country": "string",
"postalCode": "string",
"gatewayId": 0, --see notes
"capture": "string", -- DEFAULT TO N BUT WILL BE CHANGED TO Y IF PAYMENT IS FOR COF
"ecomind": "string", -- DEFAULT TO E
"cof": "string", --WILL ONLY BE INCLUDED IF IT IS FOR SAVING ON FILE
"tenantID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"transactionModule": "string", -- VIRTUALTERMINAL, INVOICE, PAYMENTLINK
"creator": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"moduleEntry": "string" -- SHOULD BE THE DETAIL OF SPECIFIC MODULE IN JSON FORMAT
}
```
#### Returns :
`ReceiptNumber -> String`
##### Notes:
```
GatewayID values as of 05/20/2024
1 = Card Pointe
2 = NMI
```