Я использую форму Google для записи ответов от разных друзей. В зависимости от своих ответов они будут получать разные счета. Я хочу создать скрипт Bash, который ...

  1. Скачивайте ответы каждые 3 минуты
  2. Проверьте, есть ли новые ответы за последние 3 минуты
  3. Рассчитайте их счет
  4. Отправьте электронное письмо со счетом PayPal.

У меня проблема с пунктом 4. У меня есть стандартная учетная запись на Paypal. Я понимаю, как я могу использовать опцию email an invoice по электронной почте, чтобы напрямую отправить счет по электронной почте. Тем не менее, это решение не позволяет мне

  • Отправить счет автоматически и сразу после того, как пользователь ответил на форму Google
  • Отправить счет, который является функцией ответов на форму Google.

Обратите внимание, что важно, чтобы я мог отслеживать, кто заплатил с помощью идентификационного номера.

Какое решение у меня есть? Например, могу ли я создать около 40 типов счетов, соответствующих 40 различным URL-адресам, а затем просто отправить URL-адреса на мою электронную почту?

2 ответа2

1

Это решение не PayPal, но я думаю, что стоит поделиться.

Вы можете использовать FreeAgent API, где вы можете создать счет с помощью 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 - песочница

1

В этом примере создается счет с использованием 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"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .