diff --git a/documents/deviceActivity.md b/documents/deviceActivity.md index e5c133c..5fecb06 100644 --- a/documents/deviceActivity.md +++ b/documents/deviceActivity.md @@ -201,7 +201,6 @@ except BadRequestError as e: | Error | Description | Solution | |-------|-------------|----------| | `BadRequestError` | Invalid device_mode parameter | Use only `"wired"` or `"wireless"` | -| `BadRequestError` | Missing activity_id | Provide valid activity ID for get_status | | `BadRequestError` | Missing device_id in wireless mode | Include device_id when using wireless mode | **API Error Responses:** @@ -246,11 +245,7 @@ try: activity_id = activity['id'] print(f"Checkout initiated: {activity_id}") - # Step 2: Check status - status = client.device_activity.get_status(activity_id, device_mode="wired") - print(f"Current status: {status['status']}") - - # Step 3: Close checkout when done + # Step 2: Close checkout when done close_response = client.device_activity.create({ "device_id": "2841158834", "action": "close_checkout" @@ -294,6 +289,4 @@ checkout = client.device_activity.create({ } }, device_mode="wired") -# Monitor checkout status -status = client.device_activity.get_status(checkout['id'], device_mode="wired") ``` \ No newline at end of file diff --git a/documents/posGateway.md b/documents/posGateway.md index b3e51c5..385d7b4 100644 --- a/documents/posGateway.md +++ b/documents/posGateway.md @@ -255,14 +255,6 @@ response = client.device_activity.create({ }, device_mode="wireless") # Required: "wired" or "wireless" ``` -#### Check Activity Status - -```py -response = client.device_activity.get_status( - "act_12345678", # Required: Activity ID from create response - device_mode="wired" # Required: "wired" or "wireless" -) -``` --- @@ -326,48 +318,14 @@ class POSIntegration: activity_id = activity['id'] print(f"Checkout initiated: {activity_id}") - # Step 3: Monitor Status (polling example) - max_attempts = 30 # 5 minutes max - for attempt in range(max_attempts): - try: - status = self.client.device_activity.get_status(activity_id, device_mode=device_mode) - current_status = status['status'] - - print(f"Status check {attempt + 1}: {current_status}") - - if current_status == 'completed': - # Step 4: Get final order details with payments - order_with_payments = self.client.order.fetch( - order['id'], - data={"expand[]": "payments"}, - device_mode=device_mode - ) - - return { - "success": True, - "order": order_with_payments, - "activity": status - } - - elif current_status == 'failed': - error_details = status.get('error', {}) - return { - "success": False, - "error": f"Checkout failed: {error_details.get('code')} - {error_details.get('reason')}", - "activity": status - } - - time.sleep(10) # Wait 10 seconds before next check - - except Exception as e: - print(f"Status check failed: {e}") - continue - - # Timeout - close checkout + print("Checkout initiated successfully") + self.close_checkout(device_mode=device_mode) + return { - "success": False, - "error": "Checkout timeout" + "success": True, + "order": order, + "activity": activity } except Exception as e: @@ -414,8 +372,8 @@ try: except BadRequestError as e: if "Invalid device mode" in str(e): print("Use 'wired' or 'wireless' for device_mode") - elif "Activity ID must be provided" in str(e): - print("Provide valid activity_id for get_status") + elif "Invalid activity data" in str(e): + print("Provide valid activity data") else: print(f"API Error: {e}") except Exception as e: @@ -427,7 +385,6 @@ except Exception as e: | Error | Cause | Solution | |-------|-------|----------| | `Invalid device mode` | Wrong device_mode value | Use `"wired"` or `"wireless"` | -| `Activity ID must be provided` | Missing activity_id | Provide valid activity ID | | `device_id required for wireless mode` | Missing device_id | Include device_id for wireless mode | **API Response Status Handling:** @@ -467,16 +424,12 @@ elif response['status'] == 'failed': | Method | Parameters | Returns | Description | |--------|------------|---------|-------------| | `create()` | `data`, `device_mode` | Activity object with status | Create checkout activity | -| `get_status()` | `activity_id`, `device_mode` | Activity status | Check activity status | **Usage Examples:** ```py # Initiate checkout activity = client.device_activity.create(data, device_mode="wired") -# Check status -status = client.device_activity.get_status("pda_123", device_mode="wired") - # Close checkout client.device_activity.create({"action": "close_checkout"}, device_mode="wired") ```