L'exemple dans cet article décrit la méthode de zen cart ajoutant un numéro de téléphone réservé en paypal à la commande. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :
Dans la valeur de retour IPN de PayPal, le numéro de contact est contact_phone. Le principe est que votre compte a configuré l'acheteur pour réserver un numéro de téléphone lorsque. effectuer le paiement S'il n'y a aucune exigence, les valeurs ne sont pas restituées par défaut.
Cependant, cette information n'est pas obtenue dans le plug-in de paiement PAYPAL de zen cart, et le programme PAYPAL doit être modifié manuellement. Ensuite nous allons modifier :
1. Ajouter le champ contact_phone dans la table paypal
ALTER TABLE `paypal` ADD `contact_phone` VARCHAR( 50 ) NULL COMMENT '电话'
2. Modifier le fichier paypal_functions.php Fonction ipn_create_order_array
Ce fichier est dans le répertoire ./includes/modules/payment/paypal
//增加 'contact_phone' => $_POST['contact_phone'],
Après modification, il est tel suit
/** * Create order record from IPN data */ function ipn_create_order_array($new_order_id, $txn_type) { $sql_data_array = array('order_id' => $new_order_id, 'txn_type' => $txn_type, 'module_name' => 'paypal (ipn-handler)', 'module_mode' => 'IPN', 'reason_code' => $_POST['reason_code'], 'payment_type' => $_POST['payment_type'], 'payment_status' => $_POST['payment_status'], 'pending_reason' => $_POST['pending_reason'], 'invoice' => $_POST['invoice'], 'mc_currency' => $_POST['mc_currency'], 'first_name' => $_POST['first_name'], 'last_name' => $_POST['last_name'], 'payer_business_name' => $_POST['payer_business_name'], 'contact_phone' => $_POST['contact_phone'], 'address_name' => $_POST['address_name'], 'address_street' => $_POST['address_street'], 'address_city' => $_POST['address_city'], 'address_state' => $_POST['address_state'], 'address_zip' => $_POST['address_zip'], 'address_country' => $_POST['address_country'], 'address_status' => $_POST['address_status'], 'payer_email' => $_POST['payer_email'], 'payer_id' => $_POST['payer_id'], 'payer_status' => $_POST['payer_status'], 'payment_date' => datetime_to_sql_format($_POST['payment_date']), 'business' => $_POST['business'], 'receiver_email' => $_POST['receiver_email'], 'receiver_id' => $_POST['receiver_id'], 'txn_id' => $_POST['txn_id'], 'parent_txn_id' => $_POST['parent_txn_id'], 'num_cart_items' => $_POST['num_cart_items'], 'mc_gross' => $_POST['mc_gross'], 'mc_fee' => $_POST['mc_fee'], 'settle_amount' => $_POST['settle_amount'], 'settle_currency' => $_POST['settle_currency'], 'exchange_rate' => $_POST['exchange_rate'], 'notify_version' => $_POST['notify_version'], 'verify_sign' => $_POST['verify_sign'], 'date_added' => 'now()', 'memo' => $_POST['memo'] ); return $sql_data_array; }
3 Afin de voir contact_phone dans le contenu de la commande de la gestion en arrière-plan, vous devez modifier le fichier paypal_admin_notification.php
Ce fichier se trouve dans ./includes/ Ajoutez le contenu suivant à
dans le répertoire modules/payment/paypal :
$output .= '<tr><td class="main">Contact Phone:</td>'; $output .= '<td class="main">'.$ipn->fields['contact_phone'].'</td></tr>';
J'espère que cet article sera utile au PHP de tout le monde conception de programme basée sur le framework zend.
Pour plus d'articles sur la méthode utilisée par Zen Cart pour ajouter un numéro de téléphone réservé dans Paypal à la commande, veuillez faire attention au site Web PHP chinois !