wrap prepare_pay in the API (bug 868029)