Я использую Google Form для записи ответов разных друзей. В зависимости от их ответов они будут получать разные счета. Я хочу создать скрипт Bash, который...
- Загружайте ответы каждые 3 минуты
- Проверьте, есть ли новые ответы за последние 3 минуты
- Рассчитать их счет
- Отправьте электронное письмо со счетом PayPal.
У меня проблема с пунктом номер 4. У меня стандартный аккаунт на Paypal. Я понимаю, как использовать опцию email an invoice
прямой отправки счета по электронной почте. Однако это решение не позволяет мне
- Автоматическая отправка счета сразу после того, как пользователь ответил на форму Google.
- Отправка счета-фактуры на основе ответов на Google-форму.
Обратите внимание: важно, чтобы я мог отслеживать, кто заплатил, по идентификационному номеру.
Какое у меня есть решение? Например, могу ли я создать около 40 типов счетов, соответствующих 40 различным URL-адресам, а затем просто отправлять URL-адреса по электронной почте?
решение1
Это решение не PayPal, но я думаю, что оно того стоит.
Вы можете использоватьAPI FreeAgentгде вы можете создать счет-фактуру через curl
, например:
curl https://api.sandbox.freeagent.com/v2/invoices \
-H "Authorization: Bearer XXXXXXX" \
-H "Accept: application/xml" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"invoice": {
"contact": "https://api.sandbox.freeagent.com/v2/contacts/1",
"status": "Draft",
"dated_on": "2012-08-16",
"currency": "GBP",
"exchange_rate": "1.0",
"comments": "Added by api",
"omit_header": false,
"payment_terms_in_days": 30,
"invoice_items": [
{
"description": "Test InvoiceItem",
"item_type": "Hours",
"price": "112.0",
"quantity": "1.0"
}
]
}
}'
Источник кода:Создать счет-фактуру через API - PHP cURL - Sandbox
решение2
В этом примере создается счет-фактура с CreateInvoice
использованиемAPI выставления счетов PayPal:
curl -s --insecure
-H "X-PAYPAL-SECURITY-USERID: Your_API_username"
-H "X-PAYPAL-SECURITY-PASSWORD: Your_API_password"
-H "X-PAYPAL-SECURITY-SIGNATURE: Your_API_signature"
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV"
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV"
-H "X-PAYPAL-APPLICATION-ID: Your_AppID" https://svcs.sandbox.paypal.com/Invoice/CreateInvoice
-d
"requestEnvelope.errorLanguage=en_US
&invoice.merchantEmail=merchant%40domain.com
&invoice.payerEmail=jbui-us-business2%40paypal.com
&invoice.currencyCode=USD
&invoice.itemList.item(0).name=Banana+Leaf+--+001
&invoice.itemList.item(0).description=Banana+Leaf
&invoice.itemList.item(0).quantity=1
&invoice.itemList.item(0).unitPrice=1
&invoice.itemList.item(0).taxName=Tax1
&invoice.itemList.item(0).taxRate=10.25
&invoice.paymentTerms=Net10
&invoice.logoUrl=https%3A%2F%2Fwww.example.com%2FYour_logo.jpg"
Этот, отправил бы его ( SendInvoice
):
curl -s --insecure
-H "X-PAYPAL-SECURITY-USERID: Your_API_username"
-H "X-PAYPAL-SECURITY-PASSWORD: Your_API_password"
-H "X-PAYPAL-SECURITY-SIGNATURE: Your_API_signature"
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV"
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV"
-H "X-PAYPAL-APPLICATION-ID: Your_AppID" https://svcs.sandbox.paypal.com/Invoice/SendInvoice
-d
"requestEnvelope.errorLanguage=en_US
&invoiceID=INV2-RVY9-UWTW-64HZ-BR9W"
Чтобы создать и отправить одновременно, используйте CreateAndSendInvoice
:
curl -s --insecure
-H "X-PAYPAL-SECURITY-USERID: Your_API_username"
-H "X-PAYPAL-SECURITY-PASSWORD: Your_API_password"
-H "X-PAYPAL-SECURITY-SIGNATURE: Your_API_signature"
-H "X-PAYPAL-REQUEST-DATA-FORMAT: NV"
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV"
-H "X-PAYPAL-APPLICATION-ID: Your_AppID" https://svcs.sandbox.paypal.com/Invoice/CreateAndSendInvoice
-d
"requestEnvelope.errorLanguage=en_US
&invoice.merchantEmail=merchant%40domain.com
&invoice.payerEmail=jbui-us-business2%40paypal.com
&invoice.currencyCode=USD
&invoice.itemList.item(0).name=Banana+Leaf+--+001
&invoice.itemList.item(0).description=Banana+Leaf
&invoice.itemList.item(0).quantity=1
&invoice.itemList.item(0).unitPrice=1
&invoice.itemList.item(0).taxName=Tax1
&invoice.itemList.item(0).taxRate=10.25
&invoice.paymentTerms=Net10
&invoice.logoUrl=https%3A%2F%2Fwww.example.com%2FYour_logo.jpg"