# Payment API Resources v2.0Beta

Each resource used in the Payment API version 2.0 is listed below.

# PaymentCard

A representation of a payment card linked to a customer's profile and that could be used to make payments.

Name Required Type Description
cardId true string The unique identifier for the card.
instrumentType true string The type of payment instrument - usually a bank card.
cardHolderName true string The name of the card holder.
label true string A customer provided label or name for the card.
acceptanceBrand true string The acceptance brand of the card. Visa, MasterCard and others.
last4Digits false date The last 4 digits of the bank card number. Used to display to the customer to allow the customer to identify the card.
status true string The current status of the card. Cards that have expired will have a status of Expired otherwise the status will be Active.
createdOn true date The date the card was added to the customers profile.

# Sample

{
    "cardId": "5e5edd8a-ff4b-44b7-9239-500f456471e8",
    "instrumentType": "Bank Card",
    "cardHolderName": "Mr C Holder",
    "label": "My FNB Fusion Card",
    "acceptanceBrand": "Visa",
    "last4Digits": "0002",
    "status": "Active",
    "createdOn": "2021-12-02T00:00:00"
}

# PaymentStatus

A representation of a payment status for a payment.

Name Required Type Description
paymentId true string The unique identifier for a payment.
paymentCode true string A code for the payment that can be used in display scenarios. This value is not unique.
transactionId true string The transaction identifier for the payment.
paymentScenario true string The payment scenario used at the payment processor.
currency true number The currency used for the payment.
amount true number The payment amount in cents.
actionUrl false string The URL to redirect the customer to if the status value is RedirectRequired
status true string The current status of the payment. See the Payment Status endpoint for more information.
statusReason true string The reason for the status. Used for troubleshooting and not meant for display to a customer.
createdOn true date-time The date and time in UTC that the payment was created.
processedOn true date-time The date and time in UTC that the payment status was last updated.
history true StatusUpdate[] The payment status history.

# Sample

{
    "paymentId": "38ecb39d-ea98-443f-94d3-557404881d37",
    "paymentCode": "81D37",
    "transactionId": "20220211-0013-0000-0382",
    "paymentMethod": "Card",
    "paymentScenario": "Payment",
    "currency": "ZAR",
    "amount": 8800,
    "actionUrl": "https://fake.stratech.co.za/?id=2c5b9188-7d59-4c51-a486-24202821bfbc",
    "status": "Authorised",
    "statusReason": "Payment status updated to Authorised via reply message from StraTech.",
    "createdOn": "2022-02-11T04:51:50.5803212+00:00",
    "processedOn": "2022-02-11T04:53:04.7469416+00:00",
    "history": [
        // Omitted for brevity.
    ]
}

# StatusUpdate

A representation of a payment status update for a payment.

Name Required Type Description
status true string The status of the payment.
statusReason true string The reason for the status. Used for troubleshooting and not meant for display to a customer.
processedOn true date-time The date and time in UTC that the payment status was processed.

# Sample

{
    "status": "Processing",
    "statusReason": "Started processing payment.",
    "processedOn": "2022-02-11T04:51:51.0607526+00:00"
}