# Embed the plugin's checkout page
## To use in a new plugin:
- Include and instantiate `Updraft_Checkout_Embed`
```php
if (!class_exists('Updraft_Checkout_Embed')) include_once (UPDRAFTPLUS_DIR.'/includes/checkout-embed/class-udp-checkout-embed.php');
global $udp_checkout_embed;
$udp_checkout_embed = new Updraft_Checkout_Embed(
'updraftplus'
$data_url,
$load_in_pages
);
```
### Params:
- $plugin_name: (string) Current plugin using the class
- $proructs_data_url: (string) url of the merchand website (eg: https://https://updraftplus.com)
- $load_in_pages: (array) pages on which the script + css will be loaded
### Cache:
The products data is cached and expires after 7 days. To force fetching it, add `udp-force-product-list-refresh=1` to the admin page url
## Using in the admin
- Once the php is setup, you can configure the links / buttons in the admin.
Add `data-embed-checkout="{$url}"` to any link. eg:
```php
global $updraftplus_checkout_embed;
$link_data_attr = $updraftplus_checkout_embed->get_product('updraftpremium') ? 'data-embed-checkout="'.apply_filters('updraftplus_com_link', $updraftplus_checkout_embed->get_product('updraftpremium')).'"' : '';
get it here
```
- On completion (when the order is complete), the event 'udp/checkout/done' is triggered.
- The event 'udp/checkout/close' is triggered when the user closes the modal, regardless of success.
Use this to do something with the data received:
```javascript
$(document).on('udp/checkout/done', function(event, data, $element) {
// ... do something with data, currently data.email and data.order_number
// $element clicked to open the modal.
});
```