Ich verwende ein Google-Formular, um Antworten von verschiedenen Freunden aufzuzeichnen. Abhängig von ihren Antworten erhalten sie unterschiedliche Rechnungen. Ich möchte ein Bash-Skript erstellen, das …
- Laden Sie die Antworten alle 3 Minuten herunter
- Überprüfen Sie, ob es in den letzten 3 Minuten neue Antworten gab
- Berechnen Sie ihre Rechnung
- Senden Sie eine E-Mail mit einer PayPal-Rechnung.
Ich habe ein Problem mit Punkt 4. Ich habe ein Standardkonto bei Paypal. Ich verstehe, wie ich die email an invoice
Option nutzen kann, eine Rechnung direkt per E-Mail zu versenden. Mit dieser Lösung kann ich jedoch nicht
- Senden Sie eine Rechnung automatisch und direkt, nachdem der Benutzer das Google-Formular beantwortet hat
- Senden Sie eine Rechnung, die auf den Antworten auf das Google-Formular basiert.
Beachten Sie, dass es wichtig ist, dass ich anhand einer ID-Nummer nachverfolgen kann, wer bezahlt hat.
Welche Lösung habe ich? Kann ich beispielsweise etwa 40 Rechnungsarten erstellen, die 40 verschiedenen URLs entsprechen, und dann einfach die URLs per E-Mail versenden?
Antwort1
Diese Lösung ist nicht von PayPal, aber ich denke, es ist wert, sie weiterzugeben.
Sie könnenFreeAgent-APIwo Sie eine Rechnung erstellen können curl
, zum Beispiel über:
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"
}
]
}
}'
Antwort2
In diesem Beispiel wird eine Rechnung erstellt CreateInvoice
überPayPal-Rechnungs-API:
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"
Dieser hier würde es senden ( 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"
Zum gleichzeitigen Erstellen und Senden verwenden Sie 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"