示例#1
0
if ($payment['member_id'] != $vars['member_id']) {
    // payment doesn't match member
    fatal_error(_PLUG_PAY_CC_CORE_FERROR4);
}
if ($payment['completed']) {
    // paid already
    fatal_error(sprintf(_PLUG_PAY_CC_CORE_FERROR5, "<a href='{$config['root_url']}/member.php'>", "</a>"), 0);
}
if ($vars['register_transaction']) {
    // means we are back after the address form
    $errors = validateAddress($vars);
    if (!$errors) {
        // save billing address details within payment
        $payment_log = $db->get_payment($vars['payment_id']);
        $billingAddress = array();
        $fields = array('name_f', 'name_l', 'street', 'street2', 'city', 'zip', 'country');
        foreach ($fields as $v) {
            $billingAddress[$v] = $vars[$v];
        }
        $payment_log['data']['billing'] = $billingAddress;
        $db->update_payment($payment_log['payment_id'], $payment_log);
        $payment = $db->get_payment($vars['payment_id']);
        require_once dirname(__FILE__) . '/skypay.php';
        $skypay = new Skypay($config['payment']['skypay']);
        $skypay->hookPayment($payment);
    } else {
        getAddressDetails($member, $payment, $vars, $errors);
    }
} else {
    getAddressDetails($member, $payment, $vars);
}