Payment collection
The Payment collection transaction requests credit validation for orders that are pending authorization or charging.
Attributes
The following are the attributes for this time-triggered transaction:
| Attribute | Value |
|---|---|
| Base Transaction ID | PAYMENT_COLLECTION |
| Base Document Type | Order |
| Base Process Type | Order Fulfillment |
| Abstract Transaction | No |
| APIs Called | requestCollection() |
| Attribute | Value |
|---|---|
| Base Transaction ID | PAYMENT_COLLECTION.0003 |
| Base Document Type | Order |
| Base Process Type | Reverse Logistics |
| Abstract Transaction | No |
| APIs Called | requestCollection() |
Criteria parameters
The following are the criteria parameters for this transaction:
| Parameter | Description |
|---|---|
| Action | Required. Triggers the transaction. If left blank, it defaults to Get, the only valid value. |
| Number of Records To Buffer | Optional. Number of records to retrieve and process at one time. If left blank or specified as 0 (zero), it defaults to 5000. |
| EnterpriseCode | Optional. The enterprise for which the transaction needs to be run. If left blank, orders for all enterprises are processed. If specified, only orders for that enterprise are processed. |
| ColonyID | Required in a multischema deployment where a table may exist in multiple schemas. Runs the agent for the colony. |
| HoldTypeOnRollback | If the HoldTypeOnRollback criteria is populated and the requestCollection
agent throws an exception, for example, from the getFundsAvailable user exit, HoldTypeOnRollback
will be used to put the order on hold. If using the old order hold functionality, this will be used
as the hold reason. If the hold type does not exist, an exception is thrown. If the HoldTypeOnRollback criteria is not populated, the order will not be put on hold if an exception is thrown. |
| AuthorizationExpirationDateWindowInDays | Setting this criteria to a positive nonzero number would add an additional
where clause for the Payment_Collection agent to pick orders having AUTHORIZATION EXPIRATION DATE
between the current date and (current date - AuthorizationExpirationDateWindowInDays). If the AuthorizationExpirationDateWindowInDays criteria is not populated, the agent queries for orders that have AUTHORIZATION EXPIRATION DATE less than current date. |
Statistics tracked
The following statistics are tracked for this transaction:
| Statistic Name | Description |
|---|---|
| NumOrdersProcessed | Number of orders processed. |
| NumChargeReqsCreated | Number of charge requests created. |
| NumAuthorizationReqsCreated | Number of authorization requests created. |
Pending job count
For this transaction, the pending job count is the number of orders in the appropriate payment statuses with the value of the AUTHORIZATION_EXPIRATION_DATE is less than or equal to (<=) the current date. The appropriate payment statuses for such orders are:
- AWAIT_PAY_INFO
- AWAIT_AUTH
- REQUESTED_AUTH
- REQUEST_CHARGE
- AUTHORIZED, INVOICED
- PAID
- RELEASE_HOLD
- FAILED_AUTH
- FAILED_CHARGE
- VERIFY
- FAILED
Events raised
The following events are raised by this time-triggered transaction:
| Transaction/Event | Key Data | Data Published | Template Support? |
|---|---|---|---|
|
INCOMPLETE_PAYMENT
_INFORMATION |
modifyOrder
_dbd.txt |
YFS_PAYMENT_
COLLECTON.INCOMPLETE _PAYMENT _INFORMATION.xml |
Yes |
| PAYMENT_STATUS |
YFS_PAYMENT
_COLLECTION .PAYMENT _STATUS_ dtd.txt |
YFS_PAYMENT_
COLLECTION. PAYMENT_STATUS.xml |
Yes |
|
REQUEST_PAYMENT_
STATUS |
YFS_PAYMENT_
COLLECTION.REQUEST _PAYMENT_STATUS. xml |
Yes | |
|
ON_LIABILITY_
TRANSFER |
modifyOrder
_dbd.txt |
YFS_PAYMENT_
COLLECTION.ON_ LIABILITY_TRANSFER.xml |
Yes |
|
ON_INVOICE_
COLLECTION |
order_dbd/txt
|
YFS_CREATE_ORDER_
INVOICE.ON_ INVOICE_ COLLECTION.xml |
Yes |
| ON_REFUND_OR_SETTLEMENT | PAYMENT_COLLECTION.ON_REFUND_OR_SETTLEMENT.xml | Yes | |
| ON_RFO_CREATION | PAYMENT_COLLECTION.ON_RFO_CREATION.xml | Yes |