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 in the email. Turn that on under contract settings (email in receipt).

Order success / receipt page

Buyers also get the same token list on the page they land on after paying:

  • Easy Digital Downloads: the purchase receipt screen
  • WooCommerce: the thank-you / order-received page, and My Account → View order

Those screens always print the links when a PDF exists for the order. The email setting only controls whether the list is emailed.

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.