Estoy usando un formulario de Google para registrar las respuestas de diferentes amigos. Dependiendo de sus respuestas recibirán diferentes facturas. Quiero crear un script Bash que...
- Descarga las respuestas cada 3 minutos.
- Comprueba si hay nuevas respuestas en los últimos 3 minutos.
- Calcular su factura
- Envía un correo electrónico con una factura de PayPal.
Tengo un problema con el punto número 4. Tengo una cuenta estándar en Paypal. Entiendo cómo puedo utilizar la email an invoice
opción de enviar una factura directamente por correo electrónico. Sin embargo, esta solución no me permite
- Enviar una factura de forma automática y directamente después de que el usuario haya respondido al formulario de Google
- Enviar una factura que sea función de las respuestas al Formulario de Google.
Tenga en cuenta que es importante que pueda rastrear quién pagó con un número de identificación.
¿Qué solución tengo? Por ejemplo, ¿puedo producir alrededor de 40 tipos de factura correspondientes a 40 URL diferentes y luego simplemente enviar las URL por correo electrónico?
Respuesta1
Esta solución no es PayPal, pero creo que vale la pena compartirla.
Puedes utilizarAPI de agente libredonde puedes crear una factura a través de curl
, por ejemplo:
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"
}
]
}
}'
Fuente del código:Crear factura a través de API - PHP cURL - Sandbox
Respuesta2
Este ejemplo crea una factura usando CreateInvoice
a través deAPI de facturación de 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"
Éste, lo enviaría ( 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"
Para crear y enviar al mismo tiempo, utilice 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"