Je ne suis pas capable de résoudre ce problème, je suis coincé ici en essayant de comprendre ce qui se passe, j'ai installé une extension de paiement, et quand j'essaie de payer le produit avec une carte de crédit , tout fonctionne, mon serveur de paiement confirme la transation et l'OpenCart envoie un e-mail au vendeur et au client, le problème est, après avoir fini la transaction, OpenCart n'ajoute pas l'historique des commandes, au vendeur et au client, j'ai essayé de regarder le code source de l'extension, mais tout me semble bien. Je demande à d'autres personnes et personne n'a de problèmes avec cette extension. les fichiers journaux juste sortie:OpenCart ne pas ajouter l'historique des commandes 3.0.1.1
2017-08-19 4:50:29 - FEE5D6-AF8F438F43BD-F004C9EFA444-E7BD05
et c'est la pièce de js au poste de paiement whitch appeler la fonction pour confirmer le paiement:
PagSeguroDirectPayment.createCardToken({
cardNumber: $('input#numero-cartao').val(),
brand: $('input#bandeira').val(),
cvv: $('input#cvv').val(),
expirationMonth: expiration[0],
expirationYear: expiration[1],
success: function(data) {
$.ajax({
url: 'index.php?route=extension/payment/pagseguro_cartao/transition',
data: 'creditCardToken=' + data.card.token + '&senderHash=' + PagSeguroDirectPayment.getSenderHash() + '&installmentQuantity=' + $('select#parcelas option:selected').attr('data-value') + '&installmentValue=' + $('select#parcelas').val() + '&creditCardHolderName=' + $('input#nome').val() + '&creditCardHolderCPF=' + $('input#cpf').val() + '&creditCardHolderBirthDate=' + $('input#data-nascimento').val() + '&creditCardHolderPhone=' + $('input#telefone').val(),
type: 'POST',
dataType: 'JSON',
success: function(data){
if (data.error) {
$('#warning').html(getError(data.error.code, data.error.message)).show();
} else {
$('#button-confirm').attr('disabled');
$.ajax({
url: 'index.php?route=extension/payment/pagseguro_cartao/confirm',
data: 'status=' + data.status,
type: 'POST',
success: function() {
/*location.href = '{{ continue }}'*/
}
});
}
},
complete: function(data) {
$('#button-confirm').button('reset');
}
});
},
error: function(data) {
console.log(data);
var html = '<ul>';
$.each(data.errors, function(i,e){
html += '<li>' + getError(i,e) + '</li>';
});
html += '</ul>';
$('#warning').html(html).show();
$('#button-confirm').button('reset');
}
});
});
et le contrôleur au catalogue/contrôleur/prolongation/paiement :
public function confirm() {
$this->load->model('checkout/order');
switch ($this->request->post['status']) {
case 1:
$status = $this->config->get('payment_pagseguro_aguardando_pagamento');
break;
case 2:
$status = $this->config->get('payment_pagseguro_analise');
break;
case 3:
$status = $this->config->get('payment_pagseguro_paga');
break;
case 4:
$status = $this->config->get('payment_pagseguro_disponivel');
break;
case 5:
$status = $this->config->get('payment_pagseguro_disputa');
break;
case 6:
$status = $this->config->get('payment_pagseguro_devolvida');
break;
case 7:
$status = $this->config->get('payment_pagseguro_cancelada');
break;
default:
$status = $this->config->get('payment_pagseguro_aguardando_pagamento');
break;
}
$this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $status);
if (isset($this->session->data['order_id'])) {
$this->cart->clear();
unset($this->session->data['shipping_method']);
unset($this->session->data['shipping_methods']);
unset($this->session->data['payment_method']);
unset($this->session->data['payment_methods']);
unset($this->session->data['comment']);
unset($this->session->data['coupon']);
unset($this->session->data['pagseguro_desconto']);
unset($this->session->data['pagseguro_acrescimo']);
}
}
}
mes journaux affichent maintenant quelque chose à propos de l'index indéfini order_id lorsque j'appelle la fonction addOrderHistory '' '$ this-> model_checkout_order-> addOrderHistory ($ this-> session-> data ['order_id'], $ status);' '' –