We are sending the basket data to an external script to have a pdf invoice when the basket is completed for Stripe gateway and when the basket is pending for offline gateway.
For Stripe and automatic gateways, we use onCPayAfterPaymentStatusUpdateEvent
[var2_payment_status] REGEX /Completed|Processed/
[var2_gateway_account] REGEX /1|2|5|12/
Action PHP
Output Silent
And we send
$payment_basket = array (
'date' => $variables->date,
'user_id' => $variables->user_id,
'txn_type' => $variables->txn_type,
'txn_id' => $variables->txn_id,
'payment_type' => $variables->payment_type,
'address_street' => $variables->address_street,
'address_city' => $variables->address_city,
'address_state' => $variables->address_state,
'address_zip' => $variables->address_zip,
'address_country' => $variables->address_country,
'payer_business_name' => $variables->payer_business_name,
'first_name' => $variables->first_name,
'last_name' => $variables->last_name,
'payer_email' => $variables->payer_email,
'contact_phone' => $variables->contact_phone,
'vat_number' => $variables->vat_number,
'item_name' => $variables->item_name,
'item_number' => $variables->item_number,
'quantity' => $variables->quantity,
'custom' => $variables->custom,
'invoice' => $variables->invoice,
'tax' => $variables->tax,
'payment_date' => $variables->payment_date,
'shipping' => $variables->shipping,
'mc_currency' => $variables->mc_currency,
'mc_fee' => $variables->mc_fee,
'mc_gross' => $variables->mc_gross,
'mc_handling' => $variables->mc_handling,
'mc_shipping' => $variables->mc_shipping,
'payment_fee' => $variables->payment_fee,
'payment_gross' => $variables->payment_gross,
'basket_items' => $variables->loadPaymentItems()
);