0
オーダー作成時に透明チェックアウトでユーザーから通知されたカードのBinとLast4をデータベースに保存する必要があります。オーダー作成時にBinとLast4をデータベースに保存する - WooCommerce
私は要求を保存するときに、この挿入を行うにしようとしていますが、それはのように書いているので、それは働いていません:NULL
Javascriptを
$('.woocommerce-checkout, #order_review').submit(function (e) {
e.preventDefault();
// console.log($('input[name=pagarme_card_hash]').val());
var cardNumber = $('#pagarme-card-number').val();
var pagarmeCardNumber = cardNumber.replace(/ /g, ''); // remove spaces
var bin = pagarmeCardNumber.slice(0, 6);
var last4 = pagarmeCardNumber.slice(-4);
console.log('pagarmeCardNumber: ' + pagarmeCardNumber);
console.log('bin: ' + bin);
console.log('last4: ' + last4);
$.ajax({
type: 'post',
url: ajaxurl,
data: {
bin: bin,
last4: last4,
action: 'idx_save_bin_last4'
},
success: function (response) {
console.log('success');
},
error: function (error){
console.log('error');
console.log(error);
}
});
return false;
});
のfunctions.php
をadd_action('wp_ajax_idx_save_bin_last4', 'idx_save_bin_last4');
add_action('wp_ajax_nopriv_idx_save_bin_last4', 'idx_save_bin_last4');
add_action('save_post', 'idx_save_bin_last4', 10, 3);
function idx_save_bin_last4($post_id)
{
$bin = $_POST['bin'];
$last4 = $_POST['last4'];
$post_type = get_post_type($post_id);
if ("shop_order" != $post_type) {
return;
}
update_post_meta($post_id, '_order_bin', $bin);
update_post_meta($post_id, '_order_last4', $last4);
}