2014-12-05 177 views
2

使用PayPal API,只要買方在Web應用程序中完成購買,我想通過電子郵件發送標記爲已付款的發票。創建PayPal發票,標記已付款併發送電子郵件

可能嗎?

不使用API​​,您不能手動發送電子郵件通知付費發票。是對的嗎?

+0

我有點困惑。你爲什麼不爲他們生成一個典型的電子郵件收據,並在完成銷售時發送該收據?你想創建一個新的發票,然後標記付款.. ??這將是一個完全獨立的「交易」。 – 2014-12-05 16:08:06

+0

事情是,我的導演想通過PayPal發票部分來查看,打印和管理髮票。 – Serdar 2014-12-08 06:34:22

回答

0

在您的結帳系統中,當訂單通過時,撥打CreateInvoice API。這將在PayPal系統中生成發票。您可以使用CreateInvoice請求中的「number」參數傳遞常規訂單ID(如果有),以便發票與您的結帳訂單很好地相關。

然後,緊接該呼叫之後,致電MarkInvoiceAsPaid。這會將發票標記爲在PayPal系統中支付,以便您在那裏記錄它的好記錄。

聽起來像你在做什麼,對吧?

如果您碰巧在使用PHP,我的class library for PayPal將使所有開票API調用非常簡單。

+0

起初我以爲這會工作得很好,但我使用REST API並且實際嘗試了它。MarkInvoiceAsPaid()的等價物是REST API中的recordPayment(),您不能將發票標記爲在創建後立即付款,而不發送它。它會給你以下錯誤:「無法支付草稿實體。」 – Serdar 2014-12-08 14:41:54

-1

你需要做3 API調用的位置:

  1. Create發票
  2. Send發票
  3. Record支付

當你創建一個發票,它是在草案造成狀態,它實際上不是合法的發票。所以,當商家發送這張發票時,發票的狀態變爲SENT狀態,並且它變得合法。要將其標記爲已付款,您需要撥打記錄付款 API並將請求正文中的付款方式作爲CASH,CREDIT_CARD,DEBIT_CARD,PAYPAL,WIRE_TRANSFER或其他。 PayPal開發人員網站上的API文檔非常豐富。我希望這回答了你的問題。

+0

如果您發送發票(對於已支付的物品),買家將收到一封帶有按鈕的電子郵件來支付發票。我想這是不可能的,不用發送電子郵件就可以進行這個API調用。因爲無論如何這都是這個方法的目的,所以_sending_發票。所以你的建議會混淆買家。 – Serdar 2015-01-14 15:46:07

+0

買家將收到一封電子郵件,其中包含「在此付款」按鈕。糟糕的用戶體驗。很混亂。 – 2015-11-09 12:12:26

+0

嗨詹安卡/塞爾達爾 是的!我同意這是一個糟糕的用戶體驗。但是,這是上述查詢的唯一方法。至少直到我回答了這個問題。 發票標記爲已付款時,用戶也會收到電子郵件。而且,當用戶嘗試點擊付款按鈕時,他會收到一個錯誤,說明已經支付了金額。 – 2015-11-10 14:52:29

0

你需要做三兩件事:

  • CreateInvoice

  • SendInvoice(然後客戶通過電子郵件接收發票,但他仍然按鈕 「立即支付」)。

  • 當他直接付款給您時,您發送MarkInvoiceAsPaid。這將刪除「立即付款」並添加消息,指明發票在給定日期標記爲已付款。

相關問題