0

私は、他の人がサイト上で自分のものをペイパルで販売するサイトに取り組んでいます。ペイパルからの取引が成功した後、私のサイトのプロファイルに同じ金額を追加する方法がわかりません。

4

1 に答える 1

0

このページでは、支払い処理後に PayPal から返されるものを示します。

IPN および PDT 変数

これは、Codeigniter で作成した例です。

/* Receives a form data from paypal that is processed after payment goes through.
 * It will update the database entry with a transaction id. 
 */
 function epayment_notify(){
    $this->load->model('pament_notice_model');

    echo "Hi<br>";
    $postvars = isset($_POST)? $_POST : array("no post");
    /* echo "</pre>Post Vars:<br><pre>";
    print_r($postvars);
    echo "</pre>Refurl:<br><pre>";
    Check for the transaction ID and put it in the pament_notice table if possible. 
    */
    if (isset($postvars['item_number']) &&  $postvars['item_number'] > 0 && isset($postvars['txn_id'])){

        /* make sure that payment_number is empty on this row. */ 
        log_message('info',"PayPal transaction received.");

        if ($this->pament_notice_model->make_sure_payment_number_is_empty($postvars['item_number'])){   
            //writes the message to the local log file in CI
            log_message('debug',"PayPal payment number is empty.");

            /* set the txn_id in the slot */
            $data = array('payment_number' => $postvars['txn_id']);
            $this->db->where('entry_id',$postvars['item_number']);
            $this->db->update('pament_notice',$data);
            log_message('debug',"payment number updated. item:".$postvars['item_number']);
            log_message('debug',"payment actual cost. payment_gross:".$postvars['payment_gross']);

        }  else {
            log_message('error',"PayPal transaction attempted on non-empty payment number.");
            if (isset($postvars['item_number']))
                log_message('error',"failed request item_number :".$postvars['item_number']);
            if (isset($postvars['txn_id']))
                log_message('error',"failed request txn_id:". $postvars['txn_id']); 
        }   

    } else {
        log_message('info',"PayPal payment transaction sent with invalid data.");
        if (!isset($postvars['item_number']))
            log_message('error',"item_number is not set");

        if (isset($postvars['item_number']))
            log_message('error',"failed request item_number :".$postvars['item_number']);

        if (!isset($postvars['txn_id']))
            log_message('error',"txn_id is not set\n");

        if (isset($postvars['txn_id']))
            log_message('error',"failed request txn_id:". $postvars['txn_id']); 
    }
}
于 2013-04-20T12:31:19.310 に答える