If you customize the product's thank-you page in product configs and also enable Redirection to a URL for that product, then our system will first show the buyer our thank-you page with your custom HTML for that product, which the buyer must click through to reach your redirection page.
To avoid this, you have two options: either remove any thank-you custom HTML from that product's configs, or disable the product-specific Redirection URL and instead use a Common thank-you page URL for all your products in Seller Admin > Edit Account Preferences (the product info displayed in your IFRAME would still be product-specific).
Without applying any custom HTML, our standard thank-you pages (whether displayed directly or in an IFRAME) should by default always display the name of the product(s) ordered with download link(s) for any files purchased; you should not need to add any custom HTML to enable display of the download links.
If your IFRAME is not displaying anything at all, then I suspect your PHP may not be properly outputting the IFRAME src= URL (or appending the txn_id to it). When you actually browse to your page and View>Source from the browser, how does that src= URL look? Note that the IFRAME will only show actual thank-you page content (e.g. links) if your page URL has our transaction data parameters appended to the end; even if you just browse to your page URL as-is without any parameters appended to the end, the IFRAME should still display a generic message along the lines of, "The payment processor has not yet informed us about your payment..." etc.