dxp-ux

(0 reviews)

GET all Payments (TMF-676)

listPayment

This operation retrieves the payment history by using account number.

This operation is towards Aria, matrixx and csg(LCPR).

Request URL

https://[localhost]:[port]/dxp-ux/v1/{businessId}/payment

URL PARAMS

nametypedescriptionrequired
businessIdstring2 letter ISO 3166 country code (TT, BB, JM, PA, etc.) identifying the business unit.Y
namevaluedescriptionrequired
client_idstringThe client_id identifying the channel. Minimum characters: 5Y
client_secretstringPassword associated with the client_id. Minimum characters: 5Y
Correlation-IDstringIdentifier that correlates HTTP request between a client and server.
Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction.
N
It is Mandatory for business
channelIdstringChannel to business
Allowed Value : APP
Y
lobstringThe Line of Business Identifier Allowed ENUM values:
FIXED, PREPAID, POSTPAID
M
For Matrixx not in scope
targetSystemstringExpected target system:
csg, matrixx, aria
This is for PR market(csg):
M

Note :

  1. To fetch payments from CSG System, need to pass targetSystem as "csg"
  2. To fetch payments history from ARIA System, need to pass lob as "POSTPAID"
  3. To fetch refund history from MATRIXX System, need to pass targetSystem as "matrixx"

Query Param

nametypedescriptionrequired
account_nostringTo retrieve the payments from a specific accountY
startDatestringTo retrieve the payments performed after this dateN
endDatestringTo retrieve the payments performed before this dateN

Possible success responses:

1) Success response from Aria:

[ 200 ]
[
    {
        "id": "507953839",
        "description": "Tokenized Credit Card",
        "paymentDate": "2023-06-09T14:21:24Z",
        "@type": "Electronic Payment",
        "extendedCharacteristics": [
            {
                "name": "procStatusCode",
                "value": "1000"
            },
            {
                "name": "paymentDate",
                "value": "2023-06-09"
            },
            {
                "name": "procPaymentId",
                "value": "1673526085.24409"
            },
            {
                "name": "paymentMethodNo",
                "value": "3"
            }
        ],
        "amount": {
            "value": 22,
            "unit": "usd"
        },
        "paymentMethod": {
            "id": "SALESFORCE003_PM_019",
            "@type": "Tokenized Credit Card"
        },
        "status": "Approved",
        "statusDate": "2023-06-09T14:21:24Z"
    }
]

2) Success response from Matrixx:

[
    {
        "id": "21",
        "description": "PURC:110.39:91",
        "paymentDate": "2022-08-25T08:59:17.241928Z",
        "status": "settled",
        "account": {
            "id": "S-8919414203",
            "@type": "SubscriptionRef"
        },
        "paymentMethod": {
            "id": "",
            "@type": "PaymentMethodRef"
        },
        "refund": [
            {
                "id": "IDN0:1:52:7435",
                "totalAmount": {
                    "value": 3.0,
                    "unit": "USD"
                },
                "status": "refunded",
                "refundDate": "2022-09-23T12:25:56.260859Z",
                "@type": "RefundRef"
            }
        ],
        "totalAmount": {
            "value": 110.39,
            "unit": "USD"
        }
    },
    {
        "id": "22",
        "description": "PURC:110.39:91",
        "paymentDate": "2022-08-25T10:33:09.998424Z",
        "status": "settled",
        "account": {
            "id": "S-8919414203",
            "@type": "SubscriptionRef"
        },
        "paymentMethod": {
            "id": "",
            "@type": "PaymentMethodRef"
        },
        "refund": [],
        "totalAmount": {
            "value": 110.39,
            "unit": "USD"
        }
    }
]
[ 200 ]

PR FIXED CSG

OK - listPayment request processed successfully, response body contains an entity corresponding to the requested resource.

[
    {
        "id": "8759294000000010",
        "correlatorId": "EFTPY0704",
        "paymentDate": "2024-07-05T00:00:00:000Z",
        "statusDate": "2024-07-05T00:00:00:000Z",
        "name": "",
        "totalAmount": {
            "amount": "-44.04"
        },
        "account": {
            "id": "8211990010031540",
            "name": "JANE ,DOE1"
        },
        "paymentItem": [
            {
                "totalAmount": {
                    "amount": "-44.04"
                }
            }
        ],
        "item": {
            "referredType": ""
        },
        "paymentMethod": {
            "@type": "EFT PAYMENT",
            "details": {
                "type": "",
                "cardNumber": "",
                "expirationDate": ""
            }
        }
    },
    {
        "id": "8759394000000010",
        "correlatorId": "EFTPY0604",
        "paymentDate": "2024-06-05T00:00:00:000Z",
        "statusDate": "2024-06-05T00:00:00:000Z",
        "name": "",
        "totalAmount": {
            "amount": "-42.89"
        },
        "account": {
            "id": "8211990010031540",
            "name": "JANE ,DOE1"
        },
        "paymentItem": [
            {
                "totalAmount": {
                    "amount": "-42.89"
                }
            }
        ],
        "item": {
            "referredType": ""
        },
        "paymentMethod": {
            "@type": "EFT PAYMENT",
            "details": {
                "type": "",
                "cardNumber": "",
                "expirationDate": ""
            }
        }
    },
    {
        "id": "8759494000000010",
        "correlatorId": "EFTPY0504",
        "paymentDate": "2024-05-05T00:00:00:000Z",
        "statusDate": "2024-05-05T00:00:00:000Z",
        "name": "",
        "totalAmount": {
            "amount": "-42.89"
        },
        "account": {
            "id": "8211990010031540",
            "name": "JANE ,DOE1"
        },
        "paymentItem": [
            {
                "totalAmount": {
                    "amount": "-42.89"
                }
            }
        ],
        "item": {
            "referredType": ""
        },
        "paymentMethod": {
            "@type": "EFT PAYMENT",
            "details": {
                "type": "",
                "cardNumber": "",
                "expirationDate": ""
            }
        }
    }
]

JM LIBERATE RESPONSE

[
    {
        "id": "549114227",
        "correlatorId": "987654321",
        "paymentDate": "2023-01-02T08:41:57.000Z",
        "statusDate": "2023-01-02T08:41:57.000Z",
        "status": "",
        "name": "FAC",
        "totalAmount": {
            "amount": 500.00
        },
        "amount": {
            "amount": 500.00
        },
        "account": {
            "id": "325152270000",
            "name": "on, Test"
        },
        "paymentItem": [
            {
                "totalAmount": {
                    "amount": 500.00
                }
            },
            {
                "item": {
                    "id": "DEPOSIT",
                    "referredType": "deposit"
                }
            }
        ],
        "paymentMethod": {
            "@type": "E",
            "details": {
                "type": "D",
                "cardNumber": "",
                "expirationDate": ""
            }
        }
    },
    {
        "id": "549114226",
        "correlatorId": "987654321",
        "paymentDate": "2023-01-02T08:41:57.000Z",
        "statusDate": "2023-01-02T08:41:57.000Z",
        "status": "",
        "name": "FAC",
        "totalAmount": {
            "amount": 404.00
        },
        "amount": {
            "amount": 404.00
        },
        "account": {
            "id": "325152270000",
            "name": "on, Test"
        },
        "paymentItem": [
            {
                "totalAmount": {
                    "amount": 404.00
                }
            },
            {
                "item": {
                    "id": "UNALLOC",
                    "referredType": "payment"
                }
            }
        ],
        "paymentMethod": {
            "@type": "E",
            "details": {
                "type": "S",
                "cardNumber": "",
                "expirationDate": ""
            }
        }
    }
]

JM CERILLION RESPONSE

[
    {
        "id": "28372884",
        "correlatorId": "Aria 247830253756",
        "statusDate": "2022-02-03T17:28:33.000Z",
        "paymentDate": "2022-02-03T00:00:00.000Z",
        "taxAmount": {
            "amount": "0.0"
        },
        "amount": {
            "amount": "-7400.0"
        },
        "totalAmount": {
            "amount": "-7400.0"
        },
        "account": {
            "id": "50146303"
        },
        "item": {
            "id": "265078124",
            "referredType": "payment"
        },
        "paymentMethod": {
            "@type": "Cash"
        }
    },
    {
        "id": "27933708",
        "correlatorId": "F8786312",
        "statusDate": "2021-12-03T10:54:57.000Z",
        "paymentDate": "2021-12-02T00:00:00.000Z",
        "taxAmount": {
            "amount": "0.0"
        },
        "amount": {
            "amount": "-8265.16"
        },
        "totalAmount": {
            "amount": "-8265.16"
        },
        "account": {
            "id": "50146303"
        },
        "item": {
            "id": "257831491",
            "referredType": "payment"
        },
        "paymentMethod": {
            "@type": "Scotia Bank"
        }
    },
    {
        "id": "27482404",
        "correlatorId": "kiosk tut4vqzy3ea",
        "statusDate": "2021-09-24T10:37:10.000Z",
        "paymentDate": "2021-09-24T00:00:00.000Z",
        "taxAmount": {
            "amount": "0.0"
        },
        "amount": {
            "amount": "-26000.0"
        },
        "totalAmount": {
            "amount": "-26000.0"
        },
        "account": {
            "id": "50146303"
        },
        "item": {
            "id": "249646526",
            "referredType": "payment"
        },
        "paymentMethod": {
            "@type": "Cash"
        }
    }
]
Definitions

Response Data Model:

nametypedescriptionrequired
idstringUnique identifier assigned for the transaction by target systemN
hrefstringHypertext Reference of the PaymentN
authorizationCodestringAuthorization code retrieved from an external payment gateway that could be used for conciliationN
correlatorIdstringUnique identifier in the client for the payment in case it is needed to correlateN
descriptionstringSpecifies the source of the payment. Possible Values:Tokenized Credit Card, Electronic Check (ACH), External PaymentN
namestringScreen name of the paymentN
paymentDatedatetimeDate and Time of paymentN
statusstringSpecifies the status of the payment Example: ApprovedN
statusDatedatetimeThe date when payment was receivedN
accountobjectAccount reference. A account may be a party account or a financial account.N
account.idstringUnique identifier of the accountN
account.hrefstringReference of the accountN
account.descriptionstringDetailed description of the accountN
account.namestringName of the accountN
account.@baseTypestringWhen sub-classing, this defines the super-classN
account.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN
account.@typestringWhen sub-classing, this defines the sub-class entity nameN
account.@referredTypestringThe actual type of the target instance when needed for disambiguationN
amountobjectAmount to be paid (net of taxes)N
amount.valuenumber, floatAmount paidN
amount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)
N
channelobjectThe channel to which the resource reference to. e.g. channel for selling product offerings, channel for opening a trouble ticket etc..N
channel.idstringUnique identifier of the related entity.N
channel.hrefstringReference of the related entity.N
channel.namestringName of the related entity.N
channel.@baseTypestringWhen sub-classing, this defines the super-classN
channel.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN
channel.@typestringWhen sub-classing, this defines the sub-class entity nameN
channel.@referredTypestringThe actual type of the target instance when needed for disambiguationN
payerobjectRelated Entity reference. A related party defines party or party role linked to a specific entity.N
payer.idstringUnique identifier of the related entity.N
payer.hrefstringReference of the related entity.N
payer.namestringName of the related entity.N
payer.rolestringRole played by the related partyN
payer.@baseTypestringWhen sub-classing, this defines the super-classN
payer.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN
payer.@typestringWhen sub-classing, this defines the sub-class entity nameN
payer.@referredTypestringThe actual type of the target instance when needed for disambiguationN
paymentItemobject arrayThe paymentItem is the result of lettering process. It enables to assign automatically or manually part of incoming payment amount to a billN
paymentItem.idstringUnique identifier of the payment ItemN
paymentItem.amountamountAmount to be paid (net of taxes)N
paymentItem.itemchannelN
paymentItem.taxAmountamountTax appliedN
paymentItem.totalAmountMoneyTypeAmount to be paid (including taxes)N
paymentItem.@baseTypestringWhen sub-classing, this defines the super-classN
paymentItem.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN
paymentItem.@typestringWhen sub-classing, this defines the sub-class entity nameN
paymentMethodobjectlink to the resource that holds information about the payment mean used to complete the operationN
paymentMethod.idstringThe client-defined identifier of the payment method used for payment.N
paymentMethod.hrefstringA resource URI pointing to the resource in the server that stores the detailed information. This is typically the resource url to retrieve individual details for the specific payment methodN
paymentMethod.descriptionstringText describing the contents of the payment methodN
paymentMethod.isPreferredbooleanIf the method is the preferred one by the owner. Typically used when querying for the payment methods of a specific customer or accountN
paymentMethod.namestringFriendly name assigned to the payment methodN
paymentMethod.statusstringstatus of the payment(ex: approved)N
paymentMethod.statusDatedatetimeDate of updated status for paymentN
paymentMethod.accountaccount[]Account reference. A account may be a party account or a financial account.N
paymentMethod.relatedPartypayerRelated Entity reference. A related party defines party or party role linked to a specific entity.N
paymentMethod.validForobjectDate interval in which the payment method is validN
paymentMethod.validFor.endDateTimedatetimeEnd of the time period, using IETC-RFC-3339 formatN
paymentMethod.validFor.startDateTimedatetimeStart of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an endN
paymentMethod.@baseTypestringWhen sub-classing, this defines the super-classN
paymentMethod.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN
paymentMethod.@typestringNumber of payment description type, as already stored in DB (ex: 1=credit card, 5= net terms, etc) Note: if we see below numbers in response then pass 'static string' like below 13 = "Tokenized Credit Card" 2 = "Electronic Check" (ACH)-1 = "External Payment" ELSE pass the numbers whatever coming in responseN
paymentMethod.detailsObjectDefinition of the payment method. Its content depends on the type fieldN
paymentMethod.@referredTypestringThe actual type of the target instance when needed for disambiguationN
paymentMethod. detailsobjectDetails of payment methodN
paymentMethod. details .typestringType of payment methodN
paymentMethod. details .cardNumberstringCard NumberN
paymentMethod. details .expirationDatestringCard Expiry DateN
taxAmountamountTax appliedN
totalAmountobjectAmount to be paid (including taxes)N
totalAmount.amountstringAmount to be paid (including taxes)N
@baseTypestringWhen sub-classing, this defines the super-classN
@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN
extendedCharacteristicsarrayRepresents additional attributes of payment entityN
extendedCharacteristics.namestringname of the additional attributes (ex: "paymentDate", "procStatusCode")N
extendedCharacteristics.valuestringvalue of the additional attributes(ex: "2023-06-09", 100)
N
@typestringSpecifies the payment type Note: These are the possible payment type "Electronic Payment", "3rd party payment", "Write Off", "Balance Forward", "Cash Credit", "Credit From Overpayment", "Credit memo line"N
itemEntityRefTypeReference where to get more information about the entity with another API callN
refundarrayarray for the refund detailsN
refund.idstringRefunded id (unique) from matrixxN
refund.totalAmountobjectrefund amount detailsN
refund.totalAmount.valueintegerrefund amount valueN
refund.totalAmount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N
refund.statusstringstaus of the refund(ex: refunded)N
refund.refundDateDateTimeDate of the refundN
refund.@typestringWhen sub-classing, this defines the sub-class entity name(ex: "RefundRef")N
totalAmount.valueNumberAmount paid (including taxes)N
totalAmount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N
extendedCharacteristics
nametypedescriptionrequired
procStatusCodestringResponse code from payment processor (Braintree).
Possible Values:1000(Approved), 4001(settlement_declined), 4000(settled), 81706(CVV is required)
N
paymentDatestringProcessor payment dateN
procPaymentIdstringThe processor payment IDN
paymentMethodNostringProcessor payment method numberN

Possible response error

In this section all the possible data structures received by the client are defined and that must be considered as unsatisfactory when responding to the method.

[ 400 ]

Bad Request - the request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications.

{
  "errors" : [{
      "code" : 400,
      "message" : "The request is invalid or not properly formed.",
      "description" : "The client sent too many requests and server is not able to serve them all at the moment"
    }]
}
{
    "errors": [{
        "code": 404,
        "message": "Aria : Error While Fetching Payments - 12345678",
        "description": "Invalid Account Number for BusinessID : JM"
    }]
}
[ 401 ]

Unauthorized - The request has not been applied because it lacks valid authentication credentials for the target resource.

{
  "errors" : [{
      "code" : 401,
      "message" : "The user could not be authenticated for this request.",
      "description" : "The request has not been applied because it lacks valid authentication credentials for the target resource"
    }]
}
[ 403 ]

Forbidden - Indicates that the server understood the request but refuses to fulfill it. If authentication credentials were provided in the request, the server considers them insufficient to grant access. The client SHOULD NOT automatically repeat the request with the same credentials. The client MAY repeat the request with new or different credentials.

[ 404 ]

Not Found - server has not found a resource with that URI. This may be temporary and permanent condition. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.

{
  "errors" : [{
      "code" : 404,
      "message" : "The request is invalid or not properly formed.",
      "description" : "The requested operation failed because a resource associated with the request could not be found."
    }]
}
[ 405 ]

Method Not Allowed - HTTP method not allowed for this resource. The method specified in the Request-Line is not allowed for the resource identified by the Request-URI.

{
    "errors": [{
            "code": 405,
             "message": "APIKIT:METHOD_NOT_ALLOWED",
             "description": "HTTP Method post not allowed for : /{businessId}/payment"
        }]
}
[ 429 ]

Too Many Requests - client has sent too many requests in a space of time (rate limiting). When a server is under attack or just receiving a very large number of requests from a single party, responding to each with a 429 status code will consume resources. Therefore, servers may drop connections or take other steps instead of responding with the 429 status code, when limiting resource usage.

{
  "errors" : [{

      "code" : 429,
       "message" : "The request is invalid or not properly formed.",
      "description" : "The requested operation failed because a resource associated with the request could not be found."
    }]
}

Reviews