2013-04-18 48 views
-1

我正在使用PHP。paypal returnurl返回用戶支付朋友帳戶的電子郵件地址

PayPal支付後返回我的網站,它可能會通過我的電子郵件地址(paypal用戶名),這樣我可以用它來給他們發送電子郵件是可能的嗎?

我試圖讓我的網站儘可能簡單,並且我不想問客戶預先裝載的信息。

我的理想流程是: 以付款>添加記錄到數據庫>電子郵件客戶用戶名和密碼

客戶可以登錄並在自己的閒暇填寫休息。

是否有可能得到這個變量?

在此先感謝。

回答

1

此頁面顯示您可以在貝寶處理付款後從貝寶獲取的東西。

IPN and PDT Variables

這裏是一個例子,我在做笨。

/* 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']); 
    } 
} 
+0

感謝這段代碼將得心應手! – screechyboy79

0

有一對夫婦的處理這種方式。

最簡單的方法是在將用戶發送到貝寶之前收集數據。 將其存儲在用戶當前的會話中,並讓paypal自動將用戶重定向回您的頁面。

第二個是設置支付數據傳輸選項。我還沒有完全實現這一點,但貝寶的開發人員網站上有文檔。當用戶進行付款時,它基本上會將令牌發送回您的站點,並且您必須執行另一個HTTP帖子來檢索用戶數據。

+0

我試圖避免他們必須填寫表格,直到他們簽署了不尋常的我知道但在這種情況下有意義。 我還沒有聽說過支付數據傳輸,但感謝提示我會研究這一點。 – screechyboy79

相關問題