BEATSTORE

Docs / BeatStore Contracts

After purchase

When a line is fulfilled, Contracts fills the mapped template and writes a PDF.

  • With the player: beatstore_order_line_fulfilled
  • Without the player: EDD edd_complete_purchase, or WooCommerce processing / completed

The write is idempotent on order_ref + commerce_ref. A second hook fire does not create a second file.

Where the file lives

New PDFs are private: uploads/beatstore-contracts/private/. The filename is a hash of the order and commerce refs. Download is ?beatstore_contract={token}, not a public URL.

Old agreement-pdfs/ files from Licenses & Contracts stay where they are. They are not moved.

Email

Receipts can include token links. EDD uses the {contract_list} email tag. WooCommerce appends the same list after the order table. Turn that on under contract settings (email in receipt).

Buyers can also open the token link from the order/receipt screen when the list is printed there.

No template mapped

If the offer has no template, or the template is disabled / empty HTML, fulfillment skips that line. The sale and the buyer files still go through EDD or Woo.