We're assuming the wallet widget renders with a default method selected. When this isn't the case, the SetOrderReferenceDetails call comes back with constraint 'PaymentPlanNotSet - The buyer has not been able to select a Payment method for the given Order Reference'.
Move the code that makes the Donate button appear from onOrderReferenceCreate to onPaymentSelected. Show message with links to alternate payment providers a couple seconds after onReady if no payment has been selected yet.