Wordpress + WooCommerce plugin
Budget: €30 – €250 EUR
I need a Wordpress and WooCommerce plugin for the latest versions (wp: 5.7, Woocommerce: 5.4)
Admin:
After installing the plugin it has to make an admin menu under the name Box management.
Inside this menu I need 4 input field:
- Url - input varchar(255)
- Token - input varchar(255)
- Discount - input int
- Message - textarea varchar(255)
I want to store these data in the database in box_management table.
Front:
I need some development on the WooCommerce checkout page.
I need a button with a label: Do you have boxes?
When a user click on the button, there must be an input field where the user can enter their identification code, and a Send button.
When the user presses the send button the plugin has to start an API call (GET):
Api url: {url_from_box_management_table}/{users_identification_code}
The header must include token: Token:{token_from_box_management_table}
The response will include 2 data:
- available boxes
- boxes at user
These data must be shown. At this point I need to show Message field from box_management table and replace special stings like „{available_boxes}” and „{boxes_at_user}” to the received data.
After this need some adjustment of the final amount.
- If the {available_boxes} >= {all items in the basket} THEN the total should be {all items in the basket} * {discount_field_from_box_management_table}
- If the {available_boxes} < {all items in the basket} THEN the total should be {available_boxes} * {discount_field_from_box_management_table}
Based on the example, the total should be adjusted by the discount!
At this point I need a cancel button, if the user decides not to use the boxes.
If the user sends the order and makes the payment, after the successful payment I need another API call at the point in the code where woocommerce saves that the payment was successful.
API call (POST):
Api url: {url_from_box_management_table}/order/{users_identification_code}/{used_boxes}
The header must include token: Token:{token_from_box_management_table}
The {used_boxes} are the same as all the items in the basket, if there are enough boxes available. Otherwise, the {used_boxes} are the same as the available boxes.
Admin:
After installing the plugin it has to make an admin menu under the name Box management.
Inside this menu I need 4 input field:
- Url - input varchar(255)
- Token - input varchar(255)
- Discount - input int
- Message - textarea varchar(255)
I want to store these data in the database in box_management table.
Front:
I need some development on the WooCommerce checkout page.
I need a button with a label: Do you have boxes?
When a user click on the button, there must be an input field where the user can enter their identification code, and a Send button.
When the user presses the send button the plugin has to start an API call (GET):
Api url: {url_from_box_management_table}/{users_identification_code}
The header must include token: Token:{token_from_box_management_table}
The response will include 2 data:
- available boxes
- boxes at user
These data must be shown. At this point I need to show Message field from box_management table and replace special stings like „{available_boxes}” and „{boxes_at_user}” to the received data.
After this need some adjustment of the final amount.
- If the {available_boxes} >= {all items in the basket} THEN the total should be {all items in the basket} * {discount_field_from_box_management_table}
- If the {available_boxes} < {all items in the basket} THEN the total should be {available_boxes} * {discount_field_from_box_management_table}
Based on the example, the total should be adjusted by the discount!
At this point I need a cancel button, if the user decides not to use the boxes.
If the user sends the order and makes the payment, after the successful payment I need another API call at the point in the code where woocommerce saves that the payment was successful.
API call (POST):
Api url: {url_from_box_management_table}/order/{users_identification_code}/{used_boxes}
The header must include token: Token:{token_from_box_management_table}
The {used_boxes} are the same as all the items in the basket, if there are enough boxes available. Otherwise, the {used_boxes} are the same as the available boxes.