2014-12-05 180 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。这将删除“立即付款”并添加消息,指明发票在给定日期标记为已付款。

相关问题