Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

These are all of the necessary endpoints required for Transactions (purchases, authorizations, captures, releases, returns).

...

Code Block
https://{posapi_url}/flexiti/pos-api/v2.5.1/client-id/{client_id}/authorization

NOTE: the /authorization endpoint has been updated to version 2.5.1, reflected in the URI.

...

Type

Parameter

Required

Details

HEADER

authorization

Yes

  • ASCII string (1000)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

PATH

client_id

Yes

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

QUERY

lang


  • ASCII string (5)

  • Language for the message parameter on the response.

  • Available values: (en=English) or (fr=French)

  • Default value: en

PATH

authorization_id

Yes

  • number (16)

  • This is the authorization ID to be released

BODY

reference

  • ASCII String (40)

  • Merchant Order ID to be saved within the capture

BODY

amount

Yes

  • number (18,2)

  • This is the amount to be captured

BODY

sku_data.purchase_order

No

  • ASCII string (10)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Purchase Number For the Merchant

BODY

sku_data.shipping_total

No

  • number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • the Shipping total amount to be displayed, if applicable

BODY

sku_data.register_id

No

  • ASCII string (50)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • The cashier machine where the transaction was placed

BODY

sku_data.transaction_discount_total

No

  • Integer (12,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Sum of all discounts on the order

BODY

sku_data.transaction_subtotal

No

  • Integer (12,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Sum of all totals for all items

BODY

sku_data.gst_hst

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Goods and Services Tax (GST) and the Harmonized Sales Tax (HST)

BODY

sku_data.pst

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Provincial Sales Tax applied to the order

BODY

sku_data.transaction_total

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • transaction_total = transaction_subtotal + gst_hst + pst

BODY

sku_data.products.sku_id

No

  • ASCII string (150)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Unique Identifier of the product SKU (Stock Keeping Unit)

BODY

sku_data.products.category

No

  • ASCII string (30)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Category for the product

BODY

sku_data.products.description

No

  • ASCII string (150)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Business-friendly description of the product

BODY

sku_data.products.quantity

No

  • Number (5)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • The quantity of the items for the SKU array

    • Positive integer for sales

    • Negative - integer for a return

BODY

sku_data.products.unit_price

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • The price for a single SKU item

BODY

sku_data.products.extended_price

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • extended_price = [(unit_price x quantity) - discount_price] for this particular SKU array

BODY

external_location_id

Yes if In-store channel

  • ASCII string (100)

  • Used in the In-store channel

  • This is the merchant’s own location reference

BODY

external_employee_id

Yes if In-store channel

  • ASCII string (100)

  • Used in the In-store channel

  • This is the merchant’s own employee reference

Example Request with SKU Data:

Code Block
languagejson
{
    "reference": "orderid-12345",
    "amount": 3000.12,
    "external_location_id" : "00-12345",  //if in-store channel
    "external_employee_id" :"12345-SMITH", //if in-store channel
    "sku_data":{
	{
	"purchase_order": "100001234",
	"register_id": "1A45",
	"transaction_discount_total": -123.08,
	"transaction_subtotal": 821.17,
	"transaction_total": 1026.47,
	"gst_hst": 133.45,
	"pst": 71.85,
	"products":[
		{
			"sku_id": "100xx4567",
			"category": "electronics",
			"description": "Apple Macbook 16-inch",
			"quantity": 1,
			"unit_price": 1000,
			"extended_price": 984.35 
		},
		{ 
			"sku_id": "20bb3457",
			"category": "office supplies",
			"description": "24lb Multiuse Paper, White",
			"quantity": 1,
			"unit_price": 33.99,
			"extended_price": 42.12
		}
	]
}

Example Request without SKU Data:

Code Block
languagejson
{
    "reference": "orderid-12345",
    "amount": 3000.12,
    "external_location_id" : "00-12345",  //if in-store channel
    "external_employee_id" :"12345-SMITH", //if in-store channel
}

Response Parameters:

Type

Parameter

Details

BODY

capture_id

  • number (9)

  • ID of the capture created

BODY

reference

  • ASCII string (40)

  • Merchant Order ID saved within the capture

BODY

authorization_id

  • number (16)

  • ID of the credit authorization created

BODY

date

  • UTC - ISO_8601 (20)

  • Auto-calculated Date-time of capture

BODY

amount

  • number (18,2)

  • Captured amount

BODY

remaining_authorization_amount

  • number (18,2)

  • Remaining amount of the credit authorization after the capture

BODY

term_amount

  • number (18,2)

  • Value to explain the amount to be paid by month (or a deferred payment)

BODY

username

  • ASCII string (30)

  • username of the employee that performed the capture

BODY

status

  • ASCII string (20)

  • Status of the capture

  • Possible values: pending, active, inactive, cancelled

    • pending - in circumstances where the capture requires accreditation

    • active - capture complete

    • inactive - when the capture has been fully returned/refunded

    • cancelled - when the capture has been rejected at accreditation time

BODY

message

  • ASCII string (1000)

  • Used to convey information to notify the customer

...

Type

Parameter

Required

Details

HEADER

authorization

Yes

  • ASCII string (1000)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

PATH

client_id

Yes

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

QUERY

lang


  • ASCII string (5)

  • Customer Preferred language

  • Available values: (en=English) or (fr=French)

  • Default value: en

PATH

authorization_id

Yes

  • number (16)

  • This is the authorization ID to be returned

PATH

capture_id

Yes

  • number (9)

  • This is the capture ID to be returned

BODY

vcc_number


No

  • ASCII string(16)

  • The FlexitiCard number (VCC) provided by the Customer

  • To be used in a Business Card’s authorized User’s purchase, sent with the Master Account number

BODY

reference

  • ASCII String (40)

  • Merchant Order ID to be saved within the release

BODY

full_return

  • boolean

  • If set to “true” a full return of the credit authorization will occur

  • If set to “false” the amount of the return will need to be defined

  • default: false

BODY

amount

Yes if full_return is false

  • number (20,2)

  • This is the amount to be returned

BODY

sku_data.purchase_order

No

  • ASCII string (10)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Purchase Number For the Merchant

BODY

sku_data.register_id

No

  • ASCII string (50)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • The cashier machine where the transaction was placed

BODY

sku_data.transaction_discount_total

No

  • Integer (12,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Sum of all discounts on the order

BODY

sku_data.transaction_subtotal

No

  • Integer (12,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Sum of all totals for all items

BODY

sku_data.gst_hst

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Goods and Services Tax (GST) and the Harmonized Sales Tax (HST)

BODY

sku_data.pst

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Provincial Sales Tax applied to the order

BODY

sku_data.transaction_total

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • transaction_total = transaction_subtotal + gst_hst + pst

BODY

sku_data.products.sku_id

No

  • ASCII string (150)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Unique Identifier of the product SKU (Stock Keeping Unit)

BODY

sku_data.products.category

No

  • ASCII string (30)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Category for the product

BODY

sku_data.products.description

No

  • ASCII string (150)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Business-friendly description of the product

BODY

sku_data.products.quantity

No

  • Number (5)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • The quantity of the items for the SKU array

    • Positive integer for sales

    • Negative - integer for a return

BODY

sku_data.products.unit_price

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • The price for a single SKU item

BODY

sku_data.products.extended_price

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • extended_price = [(unit_price x quantity) - discount_price] for this particular SKU array

BODY

external_location_id

Yes if In-store channel

  • ASCII string (100)

  • Used in the In-store channel

  • This is the merchant’s own location reference

BODY

external_employee_id

Yes if In-store channel

  • ASCII string (100)

  • Used in the In-store channel

  • This is the merchant’s own employee reference

Example Request:

Code Block
languagejson
{
    "reference": "Order-1234",
    "vcc_number": "1234567890121256",
    "full_return": false,
    "amount": 10,
    "sku_data": {
        "purchase_order": "100001234",
        "register_id": "1A45",
        "transaction_discount_total": -125.08,
        "transaction_subtotal": -821.17,
        "transaction_total": -1026.47,
        "gst_hst": -133.45,
        "pst": -71.85,
        "products": [
            {
                "sku_id": "100xx4567",
                "category": "electronics",
                "description": "Apple Macbook 16-inch",
                "quantity": 1,
                "unit_price": 1000,
                "extended_price": 984.35
            },
            {
                "sku_id": "20bb3457",
                "category": "office supplies",
                "description": "24lb Multiuse Paper, White",
                "quantity": 1,
                "unit_price": 33.99,
                "extended_price": 42.12
            }
        ]
    },
}

...

Type

Parameter

Required

Details

HEADER

authorization

Yes

  • ASCII string (1000)

  • This is the word “Bearer” with a space and then the access_token given in oauth/token API response

  • Default value: Bearer {insert_bearer_token_from_oauth_here/token_api}

HEADER

x-reference-id

Yes

  • ASCII string (32)

  • GUID

  • Unique identifier for the flow for traceability purposes

PATH

client_id

Yes

  • ASCII string (100)

  • This is the Client ID given in the Developer User Account section

PATH

account_number

Yes

  • number (14)

  • Flexiti Account Number retrieved from the /client-id/{client_id}/customers/lookup or the /client-id/{client_id}/customers/search endpoints

  • This is NOT the VCC (Flexiti Card) or the Customer ID

BODY

capture_id

No

  • Number (9)

  • Capture ID for the capture that is being refunded

  • This is necessary to associate SKU data to the refund

BODY

vcc_number


No

  • ASCII string(16)

  • The FlexitiCard number (VCC) provided by the Customer

  • To be used in a Business Card’s authorized User’s purchase, sent with the Master Account number

BODY

amount

Yes

  • number (20,2)

  • This is the amount to be refunded

BODY

reference

  • ASCII string (40)

  • Merchant Order ID to be saved within the refund

BODY

sku_data.purchase_order

No

  • ASCII string (10)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Purchase Number For the Merchant

BODY

sku_data.register_id

No

  • ASCII string (50)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • The cashier machine where the transaction was placed

BODY

sku_data.transaction_discount_total

No

  • Integer (12,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Sum of all discounts on the order

BODY

sku_data.transaction_subtotal

No

  • Integer (12,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Sum of all totals for all items

BODY

sku_data.gst_hst

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Goods and Services Tax (GST) and the Harmonized Sales Tax (HST)

BODY

sku_data.pst

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Provincial Sales Tax applied to the order

BODY

sku_data.transaction_total

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • transaction_total = transaction_subtotal + gst_hst + pst

BODY

sku_data.products.sku_id

No

  • ASCII string (150)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Unique Identifier of the product SKU (Stock Keeping Unit)

BODY

sku_data.products.category

No

  • ASCII string (30)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Category for the product

BODY

sku_data.products.description

No

  • ASCII string (150)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • Business-friendly description of the product

BODY

sku_data.products.quantity

No

  • Number (5)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • The quantity of the items for the SKU array

    • Positive integer for sales

    • Negative - integer for a return

BODY

sku_data.products.unit_price

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • The price for a single SKU item

BODY

sku_data.products.extended_price

No

  • Number (18,2)

  • This data is provided by a Merchant. If passed as part of the request, it will be displayed on the customer’s statement. We do not validate this data and assume you are passing an accurate representation of the transactions details.

  • extended_price = [(unit_price x quantity) - discount_price] for this particular SKU array

BODY

external_location_id

Yes if In-store channel

  • ASCII string (100)

  • Used in the In-store channel

  • This is the merchant’s own location reference

BODY

external_employee_id

Yes if In-store channel

  • ASCII string (100)

  • Used in the In-store channel

  • This is the merchant’s own employee reference

Example Request:

Code Block
{
    "reference": "orderid-12345",
    "amount": 1000.12
    "external_location_id" : "00-12345",  //if in-store channel
    "external_employee_id" :"12345-SMITH" //if in-store channel
    "vcc_number": "1234567890123423",
    "capture_id": 346123,
    "sku_data": {
        "purchase_order": "100001234",
        "register_id": "1A45",
        "transaction_discount_total": -125.08,
        "transaction_subtotal": -821.17,
        "transaction_total": -1026.47,
        "gst_hst": -133.45,
        "pst": -71.85,
        "products": [
            {
                "sku_id": "100xx4567",
                "category": "electronics",
                "description": "Apple Macbook 16-inch",
                "quantity": 1,
                "unit_price": 1000,
                "extended_price": 984.35
            },
            {
                "sku_id": "20bb3457",
                "category": "office supplies",
                "description": "24lb Multiuse Paper, White",
                "quantity": 1,
                "unit_price": 33.99,
                "extended_price": 42.12
            }
        ]
    },
}

...

Code Block
breakoutModewide
https://{posapi_url}/flexiti/pos-api/v2.5.1/client-id/{client_id}/authorizations?lang=en&account_number=12341234&transaction_type=promotional_purchase&authorization_status=opened&creation_date_from=2018-11-11&creation_date_to=2018-12-11&page_number=1&page_size=10

NOTE: the /authorizations endpoint has been updated to version 2.5.1, reflected in the URI.

...

Code Block
breakoutModewide
https://{posapi_url}/flexiti/pos-api/v2.5.1/client-id/{client_id}/authorization/12343&lang=en

NOTE: the /authorization/{authorizationId} endpoint has been updated to version 2.5.1, reflected in the URI.

...

Code Block
https://{posapi_url}/flexiti/pos-api/v2.5.1/client-id/{client_id}/captures&lang=en&account_number=12341234
&transaction_type=promotional_purchase&capture_status=opened&creation_date_from=2018-11-11&creation_date_to=2018-12-11&capture_id=1234&authorization_corporation_id=1234&authorization_merchant_id=1234&authorization_location_id=1122&authorization_employee_username=billm&capture_employee_username=johnm&page_number=1&page_size=10

NOTE: the /captures endpoint has been updated to version 2.5.1, reflected in the URI.

...