I am looking for a developer who can create an API call to gather totals and display them on a Neo Pixel and LED strip.
Skills and Experience:
- Proficiency in Python and Arduino
- Experience working with RESTful APIs
- Knowledge of Neo Pixel and LED strip integration
- Familiarity with graphical data display on LED strips
The ideal candidate should have access to the necessary API documentation and credentials. The data to be displayed on the LED strip is graphical in nature.
Write a python or arduino script for a ESP32 or Pico to total payments from a sqaure payments api and store just the total into flash storage.
The script should check that the total is equal or greater than the previous total before it writes the new total in.
Refunds should subtract from the total but not from the output.
The total will then be displayed by a simple neo pixel ring and led strip. This will be imatating a thermometer with the total sales of 100K being the top and make the neo pixel ring spin once goal is complete.
The dates are from 01/01/2023 and goes to the current time the api is called.
Here is a sample API the info has been changed.
{
"payments": [
{
"id": "x0ILLumiZNIGh34g5z8bAXumO0UZY",
"created_at": "2023-09-17T21:57:56.677Z",
"updated_at": "2023-09-17T21:58:02.745Z",
"amount_money": {
"amount": 1000,
"currency": "USD"
},
"status": "COMPLETED",
"delay_duration": "PT36H",
"source_type": "CARD",
"card_details": {
"status": "CAPTURED",
"card": {
"card_brand": "VISA",
"last_4": "2345",
"exp_month": 11,
"exp_year": 2025,
"cardholder_name": "GREEN/TOM",
"fingerprint": "sq-1-_RqdtGXE557tpum-4PGxVBHTGVTo7x_BwhlPIcbHo95_zJknC3_csRXhbJw9vR_g",
"card_type": "DEBIT",
"prepaid_type": "NOT_PREPAID",
"bin": "457178"
},
"entry_method": "EMV",
"cvv_status": "CVV_NOT_CHECKED",
"avs_status": "AVS_NOT_CHECKED",
"auth_result_code": "058073",
"application_identifier": "A0000000980840",
"application_name": "US DEBIT",
"application_cryptogram": "11fcfaacdb1a984d",
"verification_method": "NONE",
"verification_results": "SUCCESS",
"statement_description": "SQ *11:11 MISSION",
"device_details": {
"device_id": "DEVICE_INSTALLATION_ID:7E544B9F-0A49-4DE5-8D7C-D44E8020EF52",
"device_name": "1111’s iPad",
"device_installation_id": "7E264B9F-0A49-4DE5-8D7C-D98E8020EF52"
},
"card_payment_timeline": {
"authorized_at": "2023-09-17T21:57:56.982Z",
"captured_at": "2023-09-17T21:58:00.883Z"
}
},
"location_id": "LBPM2V1ZCS3F3",
"order_id": "MDbbzSP6BVzZl6sI78wWrVAgLfFZY",
"processing_fee": [
{
"effective_at": "2023-09-17T23:58:01.000Z",
"type": "INITIAL",
"amount_money": {
"amount": 36,
"currency": "USD"
}
}
],
"customer_id": "G4DJPNSX3U5UY55ED19ESJP8D4",
"total_money": {
"amount": 1000,
"currency": "USD"
},
"approved_money": {
"amount": 1000,
"currency": "USD"
},
"receipt_number": "x1JL",
"receipt_url": "[login to view URL]",
"delay_action": "CANCEL",
"delayed_until": "2023-09-19T09:57:56.677Z",
"device_details": {
"device_id": "DEVICE_INSTALLATION_ID:8E294B9F-0A49-4DE5-8D7C-D44E8020EF52",
"device_name": "1111’s iPad",
"device_installation_id": "7E26499F-0A49-4DE5-0D7C-D44E8120EF52"
},
"application_details": {
"square_product": "SQUARE_POS"
},
"version_token": "vBiTIVu9HRCFW6ftHIlXUr4l58jNvZQBR9PrH4Qho8R6o"
},
{
"id": "dAVEj2p7q1NwXp30eBWr68qhWsKZY",
"created_at": "2023-09-17T18:46:56.469Z",
"updated_at": "2023-09-17T18:46:56.597Z",
"amount_money": {
"amount": 450,
"currency": "USD"
},
"status": "COMPLETED",
"source_type": "CASH",
"location_id": "LBPM7V1ZCS3F3",
"order_id": "K2zoO8A6zSh32i9iy3F6vkfp0k8YY",
"total_money": {
"amount": 450,
"currency": "USD"
},
"capabilities": [
"EDIT_AMOUNT_UP",
"EDIT_AMOUNT_DOWN",
"EDIT_TIP_AMOUNT_UP",
"EDIT_TIP_AMOUNT_DOWN"
],
"cash_details": {
"buyer_supplied_money": {
"amount": 500,
"currency": "USD"
},
"change_back_money": {
"amount": 50,
"currency": "USD"
}
},
"receipt_number": "0AHE",
"receipt_url": "[login to view URL]",
"device_details": {
"device_id": "DEVICE_INSTALLATION_ID:7E264B9F-0A49-4DE5-8D7C-D44E8020EF52",
"device_name": "1111’s iPad",
"device_installation_id": "7E264B9F-0A49-4DE5-8D7C-D44E8020EF52"
},
"application_details": {
"square_product": "SQUARE_POS"
},
"version_token": "bCHryV6u3GxHn9lQhoI7rGeIgdd2Dcvm6JwtViVqSDB6o"
}
],
"cursor": "ZXlKamNtVmhkR1ZrUVhRaU9qUYJPVE0zTmpNek1UZ3dPRE1zSW1sa0lqb2ljRFp1TmpCalVrbFBSSFIyTjJGeVNXSjNlRXB4Y0ZCaWNEaFlXbGtpZlE"
}