Paypal It Looks Like Your City

PayPal Gateway Guide

Show Payment Gateway Fact Sheet

close

Services and Compatibility

Payment Gateway Company Name:
PayPal
Services that work with Spreedly:
  • Paypal Payments Pro
  • Paypal Payments Standard (see notes)
  • Paypal Payments Advanced (see notes)
Supported operations:
Purchase, Authorize, Capture, Refund, Void, Verify
Supported payment types:
Credit Carte du jour, Paypal
Spreedly 3DS2 Global Supported
Yes
Gateway Specific 3DS1 Supported
No
Gateway Specific 3DS2 Supported
No
Regions:
Asia Pacific, Europe, North America
API endpoint URL:
https://api-3t.paypal.com/2.0/

Hallmark and Security

Specific names for credentials:
signature mode:
Login, Password, Signature
document style:
Login, Password, PEM Certificate
delegate style:
PayPal Email

Onboarding Merchants in:

Additional Notes

Spreedly gives you full control over the look and feel of your payment page. If you are going to utilize PayPal as your payment gateway for accepting credit cards and so you must have a PayPal Payments Pro account. Pro is the only PayPal business relationship that supports having your own unique payments page/class. If PayPal Payments Pro isn't offered in your region you take ii options:

  • Find out if Payflow Pro is offered in your region. Payflow Pro volition nevertheless allow you to completely control the payment course and checkout process.
  • Review our Offsite Payment Gateway documentation. Using the offsite payment flow will not allow y'all to completely command your payment page/grade nor will it allow you to take credit cards. You will all the same be able to offer Paypal equally a payment type.

If offering PayPal every bit a payment type is important you can ever utilise a traditional gateway similar Stripe, Braintree, or PayMill for credit cards and and so employ PayPal Payments Standard equally a secondary gateway for PayPal payments.

If using special characters, please check the merchant settings in your Paypal dashboard and allow for these. Not doing and so may result in a callback error from Spreedly, "Unverified phone call: probably not from PayPal". Please reach out to Paypal Back up with any questions nigh making changes to your merchant settings.

In that location are three unlike "modes" that you tin employ to authenticate with PayPal: Consul, Signature, and Certificate. Which way you decide to use is up to you lot; we've put them hither in order of "ease to implement".

Consul mode

To use consul fashion you lot need to grant Spreedly API access to your PayPal business relationship. To do that, go into your PayPal profile and click on "Request API Credentials":

Paypal Profile Folio
Next, choose "Fix PayPal API credentials and permissions" under Option one:
Paypal Select Credentials Page

Next, select "Grant API permission" under Option 1:

Paypal Grant API Permission Page

Now give "nathaniel_api1.spreedly.com" full permissions. Then check the following boxes:

Paypal Delegate API Permissions

Relieve & verify.

Once the permissions are prepare up, all you demand to exercise is pass the "consul" fashion and the email address of your PayPal account:

                              curlicue https://core.spreedly.com/v1/gateways.xml \   -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \   -H 'Content-Type: awarding/xml' \   -d '<gateway>         <gateway_type>paypal</gateway_type>         <mode>delegate</mode>         <electronic mail>fred@example.com</email>       </gateway>'                          
                              <gateway>   <token>DEkTB74m11BSKbzcraWJApwDxj8</token>   <gateway_type>paypal</gateway_type>   <proper noun>PayPal</proper noun>   <clarification nil="true"/>   <email>fred@example.com</email>   <characteristics>     <supports_purchase type="boolean">true</supports_purchase>     <supports_authorize type="boolean">true</supports_authorize>     <supports_capture type="boolean">true</supports_capture>     <supports_credit type="boolean">truthful</supports_credit>     <supports_general_credit type="boolean">fake</supports_general_credit>     <supports_void type="boolean">true</supports_void>     <supports_adjust type="boolean">faux</supports_adjust>     <supports_verify type="boolean">true</supports_verify>     <supports_reference_purchase type="boolean">truthful</supports_reference_purchase>     <supports_purchase_via_preauthorization type="boolean">true</supports_purchase_via_preauthorization>     <supports_offsite_purchase type="boolean">true</supports_offsite_purchase>     <supports_offsite_authorize type="boolean">true</supports_offsite_authorize>     <supports_3dsecure_purchase type="boolean">false</supports_3dsecure_purchase>     <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>     <supports_3dsecure_2_mpi_purchase type="boolean">true</supports_3dsecure_2_mpi_purchase>     <supports_3dsecure_2_mpi_authorize type="boolean">true</supports_3dsecure_2_mpi_authorize>     <supports_store type="boolean">false</supports_store>     <supports_remove type="boolean">true</supports_remove>     <supports_fraud_review type="boolean">truthful</supports_fraud_review>     <supports_network_tokenization type="boolean">fake</supports_network_tokenization>     <supports_reference_authorization type="boolean">true</supports_reference_authorization>   </characteristics>   <credentials>     <credential>       <name>e-mail</name>       <value>fred@example.com</value>     </credential>   </credentials>   <gateway_settings>   </gateway_settings>   <gateway_specific_fields>     <gateway_specific_field>recurring</gateway_specific_field>     <gateway_specific_field>notify_url</gateway_specific_field>     <gateway_specific_field>custom</gateway_specific_field>     <gateway_specific_field>soft_descriptor</gateway_specific_field>     <gateway_specific_field>soft_descriptor_city</gateway_specific_field>     <gateway_specific_field>allow_guest_checkout</gateway_specific_field>     <gateway_specific_field>subtotal</gateway_specific_field>     <gateway_specific_field>aircraft</gateway_specific_field>     <gateway_specific_field>handling</gateway_specific_field>     <gateway_specific_field>tax</gateway_specific_field>     <gateway_specific_field>no_shipping</gateway_specific_field>     <gateway_specific_field>payment_details_item_type</gateway_specific_field>   </gateway_specific_fields>   <payment_methods>     <payment_method>credit_card</payment_method>     <payment_method>paypal</payment_method>   </payment_methods>   <state>retained</country>   <redacted type="boolean">false</redacted>   <sandbox blazon="boolean">false</sandbox>   <created_at blazon="dateTime">2020-12-30T15:19:51Z</created_at>   <updated_at blazon="dateTime">2020-12-30T15:19:51Z</updated_at>   <mode>delegate</mode> </gateway>                          

Signature mode

To use signature mode you demand to issue a PayPal signature. To exercise that, get into your PayPal contour and click on "Request API Credentials":

Paypal Profile Folio

Adjacent, choose "Set PayPal API credentials and permissions" under Option i:

Paypal Select Credentials Page

Next, select "Request API credentials" nether Option ii:

Paypal Asking Credentials Page

Next, select "Asking API signature":

Paypal Select API Signature Page

Y'all should see the credentials; these are what you'll need to plug in to Core:

Paypal Signature Folio

Click "Done".

Once you have your API login, password and signature, only pass them in with a mode of signature:

                              curl https://cadre.spreedly.com/v1/gateways.xml \   -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \   -H 'Content-Type: application/xml' \   -d '<gateway>         <gateway_type>paypal</gateway_type>         <way>signature</mode>         <login>login</login>         <password>password</password>         <signature>signature</signature>       </gateway>'                          
                              <gateway>   <token>XtLtE6Cz8OVG7Qhx0IW7JFTjRo6</token>   <gateway_type>paypal</gateway_type>   <proper noun>PayPal</name>   <description zilch="true"/>   <login>login</login>   <characteristics>     <supports_purchase type="boolean">true</supports_purchase>     <supports_authorize type="boolean">truthful</supports_authorize>     <supports_capture type="boolean">true</supports_capture>     <supports_credit blazon="boolean">true</supports_credit>     <supports_general_credit type="boolean">false</supports_general_credit>     <supports_void type="boolean">true</supports_void>     <supports_adjust blazon="boolean">false</supports_adjust>     <supports_verify type="boolean">true</supports_verify>     <supports_reference_purchase type="boolean">true</supports_reference_purchase>     <supports_purchase_via_preauthorization type="boolean">truthful</supports_purchase_via_preauthorization>     <supports_offsite_purchase type="boolean">true</supports_offsite_purchase>     <supports_offsite_authorize type="boolean">true</supports_offsite_authorize>     <supports_3dsecure_purchase type="boolean">simulated</supports_3dsecure_purchase>     <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>     <supports_3dsecure_2_mpi_purchase type="boolean">truthful</supports_3dsecure_2_mpi_purchase>     <supports_3dsecure_2_mpi_authorize type="boolean">true</supports_3dsecure_2_mpi_authorize>     <supports_store type="boolean">simulated</supports_store>     <supports_remove blazon="boolean">true</supports_remove>     <supports_fraud_review type="boolean">true</supports_fraud_review>     <supports_network_tokenization type="boolean">false</supports_network_tokenization>     <supports_reference_authorization type="boolean">true</supports_reference_authorization>   </characteristics>   <credentials>     <credential>       <proper name>login</name>       <value>login</value>     </credential>   </credentials>   <gateway_settings>   </gateway_settings>   <gateway_specific_fields>     <gateway_specific_field>recurring</gateway_specific_field>     <gateway_specific_field>notify_url</gateway_specific_field>     <gateway_specific_field>custom</gateway_specific_field>     <gateway_specific_field>soft_descriptor</gateway_specific_field>     <gateway_specific_field>soft_descriptor_city</gateway_specific_field>     <gateway_specific_field>allow_guest_checkout</gateway_specific_field>     <gateway_specific_field>subtotal</gateway_specific_field>     <gateway_specific_field>shipping</gateway_specific_field>     <gateway_specific_field>handling</gateway_specific_field>     <gateway_specific_field>revenue enhancement</gateway_specific_field>     <gateway_specific_field>no_shipping</gateway_specific_field>     <gateway_specific_field>payment_details_item_type</gateway_specific_field>   </gateway_specific_fields>   <payment_methods>     <payment_method>credit_card</payment_method>     <payment_method>paypal</payment_method>   </payment_methods>   <state>retained</state>   <redacted type="boolean">false</redacted>   <sandbox type="boolean">false</sandbox>   <created_at type="dateTime">2020-12-30T15:19:50Z</created_at>   <updated_at blazon="dateTime">2020-12-30T15:xix:50Z</updated_at>   <mode>signature</fashion> </gateway>                          

Document style

To utilise certificate mode you need to outcome a PayPal document. To exercise that, get into your PayPal profile and click on "Request API Credentials":

Paypal Profile Page

Next, cull "Set up PayPal API credentials and permissions" under Pick i:

Paypal Select Credentials Folio

Next, select "Request API credentials" under Option 2:

Paypal Request Credentials Folio

Side by side, select "Request API certificate":

Paypal Select API Certificate Page

You should see the credentials; you will need to relieve the login and countersign and download the certificate:

Paypal Document Credentials Folio

Click "Done".

One time you lot have your API login, password and pem certificate, y'all need to laissez passer them all to Core. When making your coil request, note that the pem certificate has necessary newlines in it. If you're allowing your customers to enter their pem in your UI, nosotros recommend a text surface area for it rather than a text field.

                              whorl https://core.spreedly.com/v1/gateways.xml \   -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \   -H 'Content-Type: awarding/xml' \   -d '<gateway>           <gateway_type>paypal</gateway_type>           <manner>document</mode>           <login>login</login>           <countersign>password</password>           <pem>-----Begin RSA Private Cardinal----- MIIEogIBAAKCAQEAn0hOiAqdiHgp94A/cB+YxqQTPJynzTHZmCGxKylRf4sd0Mrs SD8kzhaGoUo4/KUSXuATjHpfnBbtHWWVzbN7V8y0457q0qo76jSQj8ce+bfOGatN FPirNZ35Tw8W2o9v1GJeSEsRFCudd2kAoJOOF5Gf7quDzWk/0LpIcAb8sKZ7amNV fQF4KIyoLF/wSdXA2A5KkuFBdenQcqjD3OwTk2lbQBeT1fuZYHjTK1T3id2/pHMZ 1aobTeXwnt+y+8W79TtiCYFCPpsjV3rmBxwflsshd+LbDpt6+fUhmNxIHA2NuJtd I7a9XkNk7EehVZKKvc/MRm4hVxHJrgrvyI+i9QIDAQABAoIBADhTMmoLDu/+RiDe ehBlK/o6dQ7++pumICMa7vKrVsV6ZV27FFjr81DpSExq2cIFgXyJUoBfmcWxmcHG dXXbHSfMHL9NKA684hkM433kVQDLTZdoKwbadHiuV0XsuREqncoFyv9XhD+UuMdM G0utQhb1iQ+2GRKfQFDIPutWnS698ZFJ8vVkPZbX/nNbnhM8Ct/8qyj6IyOJleJI jAUNM1m9o9Ox1ggG6q2Ey2XaSzkamqK2b4xDm88Z0kGJUTvv67zQzydFa07HVLae bWppGBZDghNjA4IsFjT3w++6D5rwSJEnXLfEkhs/GW19bMG53srlW3pCfkH7Rm0S zr+RSYECgYEAz7kYbbDMc8VcYK5A9LFn8t1JgNAGE+oL/zvDVlVeDFDdM26hzvDe VwN3vCqXIziXFAnlECWXU+NIYSdoNjJFMX38xapIw3hmEN153RPLd0bHckNyPd5q GbLvL+Ohq9sSguvwDAPpJM7LO2xdEd/k0fATKqT1+2Mph8fQcyq/SFUCgYEAxE0j 7lsAZHImZopIR8uHOJwpVKmOgPBp6fW063lKnm4uScKSvy99fNDi/UeeWKjrhLeK LgXNeR91vsvmJEIxdqEgXbzxZO8/pjB9ITL1blCo2KFElZNC6ArxNg66D1XIPs0R UhV145bpkWJpuUHuLtCVzJgoVRfvR0Zq9dXaECECgYAC0iasxqvgHpwEjBlBuW8J 80tePnT2rEUBcFRUxdADJs36NtRntQmv8NIdcg6fYdNbaE7+CySk9P80oo5dvg0G gQl/vbJDRU1NiVRwViZ7NjDbMmNIx851DuMEqXi2lsEHmiCmaR8vaseDxRL2fS3k U/hOqfLVOSGFQIdqKPh0CQKBgAwNkH86JzQDrkfthbKi1JKtQ/xmzNEt8dLju1Aa CnLf4Qe2YrxKdjILwWQ72YUoGg30Fw/sW0lsnRYx/teLGO5nxkz7JPdFmWri30wC jP9RBI0ImeV1PU5yHY1sKhB2++yfOskHeE2ZHo5GtKcjXTSSqh/917wh1BdUQ40E rHcBAoGAMtXp+rfxxBxQWZUpxFHgdWXPn+5MtkFtSUQ3QJD8HyIsRLc6YP1iggd8 pN+wWJY+cL31XAyqNA2GA8+vf2JD/pVHqHREbRXtrwuFN9SdWBO1SLTNPW2ni42E L2qsUyUaOIRteOE0kUR3YkDrtGMr1n7KgRArpeDZSxssQJHX98U= -----Finish RSA PRIVATE Primal----- -----Begin CERTIFICATE----- MIIEogIBAAKCAQEAn0hOiAqdiHgp94A/cB+YxqQTPJynzTHZmCGxKylRf4sd0Mrs SD8kzhaGoUo4/KUSXuATjHpfnBbtHWWVzbN7V8y0457q0qo76jSQj8ce+bfOGatN FPirNZ35Tw8W2o9v1GJeSEsRFCudd2kAoJOOF5Gf7quDzWk/0LpIcAb8sKZ7amNV fQF4KIyoLF/wSdXA2A5KkuFBdenQcqjD3OwTk2lbQBeT1fuZYHjTK1T3id2/pHMZ 1aobTeXwnt+y+8W79TtiCYFCPpsjV3rmBxwflsshd+LbDpt6+fUhmNxIHA2NuJtd I7a9XkNk7EehVZKKvc/MRm4hVxHJrgrvyI+i9QIDAQABAoIBADhTMmoLDu/+RiDe ehBlK/o6dQ7++pumICMa7vKrVsV6ZV27FFjr81DpSExq2cIFgXyJUoBfmcWxmcHG dXXbHSfMHL9NKA684hkM433kVQDLTZdoKwbadHiuV0XsuREqncoFyv9XhD+UuMdM G0utQhb1iQ+2GRKfQFDIPutWnS698ZFJ8vVkPZbX/nNbnhM8Ct/8qyj6IyOJleJI jAUNM1m9o9Ox1ggG6q2Ey2XaSzkamqK2b4xDm88Z0kGJUTvv67zQzydFa07HVLae bWppGBZDghNjA4IsFjT3w++6D5rwSJEnXLfEkhs/GW19bMG53srlW3pCfkH7Rm0S zr+RSYECgYEAz7kYbbDMc8VcYK5A9LFn8t1JgNAGE+oL/zvDVlVeDFDdM26hzvDe VwN3vCqXIziXFAnlECWXU+NIYSdoNjJFMX38xapIw3hmEN153RPLd0bHckNyPd5q GbLvL+Ohq9sSguvwDAPpJM7LO2xdEd/k0fATKqT1+2Mph8fQcyq/SFUCgYEAxE0j 7lsAZHImZopIR8uHOJwpVKmOgPBp6fW063lKnm4uScKSvy99fNDi/UeeWKjrhLeK LgXNeR91vsvmJEIxdqEgXbzxZO8/pjB9ITL1blCo2KFElZNC6ArxNg66D1XIPs0R UhV145bpkWJpuUHuLtCVzJgoVRfvR0Zq9dXaECECgYAC0iasxqvgHpwEjBlBuW8J 80tePnT2rEUBcFRUxdADJs36NtRntQmv8NIdcg6fYdNbaE7+CySk9P80oo5dvg0G gQl/vbJDRU1NiVRwViZ7NjDbMmNIx851DuMEqXi2lsEHmiCmaR8vaseDxRL2fS3k U/hOqfLVOSGFQIdqKPh0CQKBgAwNkH86JzQDrkfthbKi1JKtQ/xmzNEt8dLju1Aa CnLf4Qe2YrxKdjILwWQ72YUoGg30Fw/sW0lsnRYx/teLGO5nxkz7JPdFmWri30wC jP9RBI0ImeV1PU5yHY1sKhB2++yfOskHeE2ZHo5GtKcjXTSSqh/917wh1BdUQ40E rHcBAoGAMtXp+rfxxBxQWZUpxFHgdWXPn+5MtkFtSUQ3QJD8HyIsRLc6YP1iggd8 pN+wWJY+cL31XAyqNA2GA8+vf2JD/pVHqHREbRXtrwuFN9SdWBO1SLTNPW2ni42E L2qsUyUaOIRteOE0kUR3YkDrtGMr1n7KgRArpeDZSxssQJHX98U= -----Cease Document----- </pem>       </gateway>'                          
                              <gateway>   <token>K09DZ1z6svNAGhsL3h1slKVZH7m</token>   <gateway_type>paypal</gateway_type>   <name>PayPal</proper name>   <description nada="true"/>   <login>login</login>   <characteristics>     <supports_purchase type="boolean">true</supports_purchase>     <supports_authorize blazon="boolean">true</supports_authorize>     <supports_capture type="boolean">true</supports_capture>     <supports_credit type="boolean">truthful</supports_credit>     <supports_general_credit blazon="boolean">fake</supports_general_credit>     <supports_void blazon="boolean">true</supports_void>     <supports_adjust type="boolean">false</supports_adjust>     <supports_verify type="boolean">truthful</supports_verify>     <supports_reference_purchase type="boolean">true</supports_reference_purchase>     <supports_purchase_via_preauthorization type="boolean">truthful</supports_purchase_via_preauthorization>     <supports_offsite_purchase type="boolean">true</supports_offsite_purchase>     <supports_offsite_authorize type="boolean">true</supports_offsite_authorize>     <supports_3dsecure_purchase blazon="boolean">false</supports_3dsecure_purchase>     <supports_3dsecure_authorize type="boolean">false</supports_3dsecure_authorize>     <supports_3dsecure_2_mpi_purchase type="boolean">true</supports_3dsecure_2_mpi_purchase>     <supports_3dsecure_2_mpi_authorize type="boolean">true</supports_3dsecure_2_mpi_authorize>     <supports_store type="boolean">false</supports_store>     <supports_remove type="boolean">true</supports_remove>     <supports_fraud_review type="boolean">truthful</supports_fraud_review>     <supports_network_tokenization type="boolean">false</supports_network_tokenization>     <supports_reference_authorization blazon="boolean">true</supports_reference_authorization>   </characteristics>   <credentials>     <credential>       <name>login</name>       <value>login</value>     </credential>   </credentials>   <gateway_settings>   </gateway_settings>   <gateway_specific_fields>     <gateway_specific_field>recurring</gateway_specific_field>     <gateway_specific_field>notify_url</gateway_specific_field>     <gateway_specific_field>custom</gateway_specific_field>     <gateway_specific_field>soft_descriptor</gateway_specific_field>     <gateway_specific_field>soft_descriptor_city</gateway_specific_field>     <gateway_specific_field>allow_guest_checkout</gateway_specific_field>     <gateway_specific_field>subtotal</gateway_specific_field>     <gateway_specific_field>aircraft</gateway_specific_field>     <gateway_specific_field>handling</gateway_specific_field>     <gateway_specific_field>revenue enhancement</gateway_specific_field>     <gateway_specific_field>no_shipping</gateway_specific_field>     <gateway_specific_field>payment_details_item_type</gateway_specific_field>   </gateway_specific_fields>   <payment_methods>     <payment_method>credit_card</payment_method>     <payment_method>paypal</payment_method>   </payment_methods>   <country>retained</country>   <redacted type="boolean">imitation</redacted>   <sandbox type="boolean">faux</sandbox>   <created_at type="dateTime">2020-12-30T15:nineteen:50Z</created_at>   <updated_at type="dateTime">2020-12-30T15:nineteen:50Z</updated_at>   <manner>certificate</mode> </gateway>                          

Offsite purchases, eChecks, and IPN notifications

If you allow Paypal offsite payments, yous'll need to change the linguistic communication encoding configuration in your business relationship from windows-1252 to UTF-8. You will likewise need to accommodate your gateway settings to enable Spreedly to hear nearly the land of payments as their status changes over fourth dimension. To make the modify, yous'll notice the following link in your Profile settings:

Paypal Profile Page

When you lot click that link, Paypal will bring you to an expanse where y'all can enable IPN notifications. You'll want to enable notifications and specify the notification URL equally https://core.spreedly.com/paypal/dev/naught. This volition allow Spreedly to hear about changes such as when the funds for an eCheck actually reach your business relationship. And and so Spreedly can notify y'all with an offsite callback.

Gateway specific fields

When interacting with a PayPal gateway to run transactions, at that place are some gateway specific fields you tin specify when making a purchase or qualify call.

Paypal allows a special recurring flag to be used to indicate that y'all have a billing agreement in place with your customer. This flag may lower your decline rates.

You can specify an IPN listener for a specific payment using the notify_url attribute.

The custom attribute allows yous to specify whatever custom string to ship along with the transaction.

Paypal allows you lot to set no_shipping to truthful to forestall shipping info beingness displayed when yous're using offsite payments with Paypal Express.

To permit your customers to checkout with PayPal Express without signing in, set allow_guest_checkout to true. For this to work, please ensure that you accept "PayPal Account Optional" turned ON for your gateway account.

The subtotal, shipping, handling, and taxation fields can be sent to specify these values for the transaction. In lodge to utilise any of these fields, all iv fields must be sent and should add up to the society full.

The payment_details_item_type fields can be used to specify the details nearly each private item in an social club. These fields are supported for both PayPal and PayPal Express. For offsite transactions, this should testify the line items on the PayPal Express hosted payment page.

These gateway specific fields may be added equally shown in this example:

                                  curl https://cadre.spreedly.com/v1/gateways/LlkjmEk0xNkcWrNixXa1fvNoTP4/purchase.xml \   -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \   -H 'Content-Type: application/xml' \   -d '<transaction>         <payment_method_token>56wyNnSmuA6CWYP7w0MiYCVIbW6</payment_method_token>         <corporeality>100</amount>         <currency_code>USD</currency_code>         <gateway_specific_fields>           <paypal>             <recurring>Y</recurring>             <soft_descriptor>Company Proper name</soft_descriptor>             <soft_descriptor_city>New York</soft_descriptor_city>             <allow_guest_checkout>true</allow_guest_checkout>             <no_shipping>true</no_shipping>             <notify_url>https://instance.com/notify_me</notify_url>             <custom>A custom string</custom>             <subtotal>eighty</subtotal>             <shipping>5</shipping>             <handling>five</handling>             <tax>10</tax>             <payment_details_item_type>               <items>                 <name>Detail one name</proper noun>                 <number>ane</number>                 <quantity>1</quantity>                 <item_amount>50</item_amount>                 <clarification>Item one description</clarification>               </items>               <items>                 <proper name>Item ii name</proper name>                 <number>ii</number>                 <quantity>1</quantity>                 <item_amount>50</item_amount>                 <clarification>Item two description</clarification>               </items>             </payment_details_item_type>           </paypal>         </gateway_specific_fields>       </transaction>'                              
                                  <transaction>   <on_test_gateway blazon="boolean">true</on_test_gateway>   <created_at type="dateTime">2019-x-29T15:28:01Z</created_at>   <updated_at type="dateTime">2019-ten-29T15:28:01Z</updated_at>   <succeeded type="boolean">truthful</succeeded>   <land>succeeded</state>   <token>YbQjpbiAechlZDC8aEOzjb8LyQW</token>   <transaction_type>Purchase</transaction_type>   <order_id nil="true"/>   <ip nil="true"/>   <description nil="truthful"/>   <email zippo="true"/>   <merchant_name_descriptor zippo="true"/>   <merchant_location_descriptor nil="true"/>   <gateway_specific_fields>     <paypal>       <recurring>Y</recurring>       <soft_descriptor>Company Name</soft_descriptor>       <soft_descriptor_city>New York</soft_descriptor_city>       <allow_guest_checkout>true</allow_guest_checkout>       <no_shipping>truthful</no_shipping>       <notify_url>https://example.com/notify_me</notify_url>       <custom>A custom string</custom>       <subtotal>fourscore</subtotal>       <shipping>5</aircraft>       <handling>5</handling>       <tax>10</tax>       <payment_details_item_type>         <items type="array">           <detail>             <name>Item 1 name</name>             <number>one</number>             <quantity>ane</quantity>             <item_amount>50</item_amount>             <description>Item one clarification</description>           </detail>           <particular>             <proper name>Item two proper noun</name>             <number>ii</number>             <quantity>1</quantity>             <item_amount>50</item_amount>             <clarification>Item two description</description>           </item>         </items>       </payment_details_item_type>     </paypal>   </gateway_specific_fields>   <gateway_specific_response_fields>   </gateway_specific_response_fields>   <gateway_transaction_id>64</gateway_transaction_id>   <gateway_latency_ms blazon="integer">10</gateway_latency_ms>   <stored_credential_initiator nix="true"/>   <stored_credential_reason_type zero="truthful"/>   <alarm nix="truthful"/>   <amount type="integer">100</amount>   <currency_code>USD</currency_code>   <retain_on_success type="boolean">false</retain_on_success>   <payment_method_added type="boolean">fake</payment_method_added>   <message key="letters.transaction_succeeded">Succeeded!</message>   <gateway_token>T11bJAANtTWnxl36GYjKWvbNK0g</gateway_token>   <gateway_type>test</gateway_type>   <shipping_address>     <name>Newfirst Newlast</proper noun>     <address1 nil="truthful"/>     <address2 nil="truthful"/>     <city cipher="true"/>     <state nil="true"/>     <zip nada="true"/>     <state cipher="truthful"/>     <phone_number nil="true"/>   </shipping_address>   <response>     <success blazon="boolean">true</success>     <message>Successful purchase</message>     <avs_code nil="truthful"/>     <avs_message null="true"/>     <cvv_code naught="truthful"/>     <cvv_message nil="truthful"/>     <pending type="boolean">false</pending>     <result_unknown type="boolean">false</result_unknown>     <error_code nil="truthful"/>     <error_detail naught="truthful"/>     <cancelled type="boolean">false</cancelled>     <fraud_review nil="truthful"/>     <created_at type="dateTime">2019-x-29T15:28:01Z</created_at>     <updated_at type="dateTime">2019-x-29T15:28:01Z</updated_at>   </response>   <api_urls>   </api_urls>   <payment_method>     <token>1rpKvP8zOUhj4Y9EDrIoIYQzzD5</token>     <created_at type="dateTime">2017-06-26T17:04:38Z</created_at>     <updated_at type="dateTime">2019-10-29T15:28:00Z</updated_at>     <email>joey@example.com</email>     <data>       <my_payment_method_identifier>448</my_payment_method_identifier>       <extra_stuff>         <some_other_things>Can exist anything really</some_other_things>       </extra_stuff>     </information>     <storage_state>retained</storage_state>     <test type="boolean">true</examination>     <metadata>       <key>cord value</key>     </metadata>     <callback_url nil="true"/>     <last_four_digits>1111</last_four_digits>     <first_six_digits>411111</first_six_digits>     <card_type>visa</card_type>     <first_name>Newfirst</first_name>     <last_name>Newlast</last_name>     <calendar month type="integer">3</month>     <year blazon="integer">2032</twelvemonth>     <address1 nil="truthful"/>     <address2 nil="true"/>     <urban center nil="truthful"/>     <state nix="true"/>     <zip nil="true"/>     <land zip="true"/>     <phone_number nil="true"/>     <visitor nil="truthful"/>     <full_name>Newfirst Newlast</full_name>     <eligible_for_card_updater type="boolean">true</eligible_for_card_updater>     <shipping_address1 nil="truthful"/>     <shipping_address2 nil="true"/>     <shipping_city nil="true"/>     <shipping_state nil="true"/>     <shipping_zip nada="true"/>     <shipping_country zero="true"/>     <shipping_phone_number zilch="true"/>     <payment_method_type>credit_card</payment_method_type>     <errors>     </errors>     <verification_value></verification_value>     <number>XXXX-XXXX-XXXX-1111</number>     <fingerprint>e3cef43464fc832f6e04f187df25af497994</fingerprint>   </payment_method>   <attempt_3dsecure type="boolean">false</attempt_3dsecure> </transaction>                              
                                  env = Spreedly::Environs.new('C7cRfNJGODKh4Iu5Ox3PToKjniY', '4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ', base_url: 'https://cadre.spreedly.com') env.purchase_on_gateway("LlkjmEk0xNkcWrNixXa1fvNoTP4", "56wyNnSmuA6CWYP7w0MiYCVIbW6", 4432,   gateway_specific_fields: {     paypal: {       recurring: "Y",       soft_descriptor: "Company Proper noun",       soft_descriptor_city: "New York",       allow_guest_checkout: "true",       no_shipping: "true",       notify_url: "https://instance.com/notify_me",       custom: "A custom string",       subtotal: 80,       shipping: 5,       handling: five,       revenue enhancement: 10     }   } )                              
                                  #<Spreedly::Buy:0x00007f9169a4baa8 @token="SxBwiW27R9hMCSzSj6AISwRHs2l", @created_at="2019-10-29T15:28:01Z", @updated_at="2019-10-29T15:28:01Z", @state="succeeded", @message="Succeeded!", @succeeded="true", @order_id="", @ip="", @description="", @gateway_token="T11bJAANtTWnxl36GYjKWvbNK0g", @gateway_transaction_id="49", @email="", @transaction_type="Buy", @merchant_name_descriptor="", @merchant_location_descriptor="", @on_test_gateway="truthful", @currency_code="USD", @callback_url="", @stored_credential_initiator="", @stored_credential_reason_type="", @amount="4432", @response,= #<Spreedly::Response:0x00007f916c026b38 @success="true", @pending="fake", @cancelled="faux", @fraud_review="", @created_at="2019-10-29T15:28:01Z", @updated_at="2019-10-29T15:28:01Z", @message="Successful purchase", @avs_code="", @avs_message="", @cvv_code="", @cvv_message="", @error_code="", @error_detail="">, @shipping_address,= #<Spreedly::ShippingAddress:0x00007f9169a2b0a0 @name="Newfirst Newlast", @address1="", @address2="", @metropolis="", @country="", @aught="", @country="", @phone_number="">, @gateway_specific_fields={:paypal=>{:recurring=>"Y", :soft_descriptor=>"Visitor Name", :soft_descriptor_city=>"New York", :allow_guest_checkout=>"true", :no_shipping=>"truthful", :notify_url=>"https://example.com/notify_me", :custom=>"A custom string", :subtotal=>"80", :shipping=>"v", :treatment=>"5", :tax=>"10"}}, @gateway_specific_response_fields={}, @payment_method,= #<Spreedly::CreditCard:0x00007f916b854cc0 @token="1rpKvP8zOUhj4Y9EDrIoIYQzzD5", @created_at="2017-06-26T17:04:38Z", @updated_at="2019-ten-29T15:28:01Z", @electronic mail="joey@example.com", @storage_state="retained", @information="<my_payment_method_identifier>448</my_payment_method_identifier>\n      <extra_stuff>\n        <some_other_things>Can be anything actually</some_other_things>\n      </extra_stuff>", @payment_method_type="credit_card", @first_name="Newfirst", @last_name="Newlast", @full_name="Newfirst Newlast", @month="3", @year="2032", @number="XXXX-XXXX-XXXX-1111", @last_four_digits="1111", @first_six_digits="411111", @card_type="visa", @verification_value="", @address1="", @address2="", @city="", @country="", @zip="", @state="", @phone_number="", @company="", @fingerprint="e3cef43464fc832f6e04f187df25af497994", @eligible_for_card_updater="true", @errors=[]>>                              

In add-on, the recurring flag can exist used with reference transactions.

                              curl https://core.spreedly.com/v1/transactions/KS3oZgWXCfFeirK16anYbijLxR/purchase.xml \   -u 'C7cRfNJGODKh4Iu5Ox3PToKjniY:4UIuWybmdythfNGPqAqyQnYha6s451ri0fYAo4p3drZUi7q2Jf4b7HKg8etDtoKJ' \   -H 'Content-Type: application/xml' \   -d '<transaction>         <amount>eighty</amount>         <gateway_specific_fields>           <paypal>             <recurring>Y</recurring>           </paypal>         </gateway_specific_fields>       </transaction>'                          
                              <transaction>   <on_test_gateway blazon="boolean">truthful</on_test_gateway>   <created_at blazon="dateTime">2019-10-29T15:28:01Z</created_at>   <updated_at type="dateTime">2019-ten-29T15:28:01Z</updated_at>   <succeeded type="boolean">truthful</succeeded>   <land>succeeded</state>   <token>GguPhw7th3SioNohPEZvQODWZzz</token>   <transaction_type>PurchaseViaReference</transaction_type>   <order_id zippo="true"/>   <ip nil="true"/>   <clarification nix="true"/>   <email goose egg="truthful"/>   <merchant_name_descriptor cypher="true"/>   <merchant_location_descriptor cipher="true"/>   <gateway_specific_fields>     <paypal>       <recurring>Y</recurring>     </paypal>   </gateway_specific_fields>   <gateway_specific_response_fields>   </gateway_specific_response_fields>   <gateway_transaction_id>45</gateway_transaction_id>   <gateway_latency_ms type="integer">0</gateway_latency_ms>   <stored_credential_initiator nil="truthful"/>   <stored_credential_reason_type nil="true"/>   <warning nil="true"/>   <amount type="integer">eighty</amount>   <currency_code>USD</currency_code>   <bulletin cardinal="messages.transaction_succeeded">Succeeded!</message>   <gateway_token>T11bJAANtTWnxl36GYjKWvbNK0g</gateway_token>   <gateway_type>exam</gateway_type>   <shipping_address>     <name nil="true"/>     <address1 nil="true"/>     <address2 nil="true"/>     <city goose egg="true"/>     <state nil="true"/>     <cypher naught="true"/>     <country nil="true"/>     <phone_number zilch="true"/>   </shipping_address>   <response>     <success type="boolean">true</success>     <message>Successful purchase</message>     <avs_code nil="true"/>     <avs_message nil="truthful"/>     <cvv_code nil="true"/>     <cvv_message nil="true"/>     <awaiting blazon="boolean">false</pending>     <result_unknown type="boolean">fake</result_unknown>     <error_code nil="truthful"/>     <error_detail nil="true"/>     <cancelled type="boolean">false</cancelled>     <fraud_review naught="true"/>     <created_at type="dateTime">2019-10-29T15:28:01Z</created_at>     <updated_at blazon="dateTime">2019-10-29T15:28:01Z</updated_at>   </response>   <api_urls>   </api_urls>   <reference_token>ONL7QUzV5gnuc8OMJK3rlm6MEf</reference_token> </transaction>                          

Gateway specific response fields

Buyer information

If you're using Paypal with offsite payments, Paypal shares some boosted information nigh transactions. In particular, you tin can decide the following fields near a buyer after a purchase and after a purchase via preauth:

  • payer
  • first_name
  • last_name
  • street1
  • street2
  • city_name
  • state_or_province
  • postal_code
  • country

You tin determine the following fields about a buyer subsequently an authorization:

  • billing street
  • billing metropolis
  • billing state
  • billing country code
  • billing country
  • billing postal code

You can discover this information in gateway_specific_response_fields. For instance, a transaction could have something similar this:

          <transaction>   <token>XspZooGud4SNm5Id9iwHHpWReIs</token>   <transaction_type>Buy</transaction_type>   <gateway_specific_response_fields>     <paypal>       <payer>wax@example.com</payer>       <first_name>Waxillium</first_name>       <last_name>Ladrian</last_name>       <street1>3911 Main Street</street1>       <street2>Apartment three</street2>       <city_name>Wanaque</city_name>       <state_or_province>NJ</state_or_province>       <postal_code>28592-8851</postal_code>       <state>Us</land>     </paypal>   </gateway_specific_response_fields> </transaction>                  

Billing agreement ID

billing_agreement_id from a purchase (or a purchase via preauth) transaction is included under gateway_specific_response_fields and shows up like:

          <transaction>   <token>XspZooGud4SNm5Id9iwHHpWReIs</token>   <transaction_type>Purchase</transaction_type>   <gateway_specific_response_fields>     <paypal>       <billing_agreement_id>B-6HS9055508963942J</billing_agreement_id>     </paypal>   </gateway_specific_response_fields> </transaction>                  

Sending e-mail addresses

Paypal expects e-mail to be passed every bit role of the address. If the accost is not sent, the email volition non be sent either. If y'all don't collect a customer address every bit office of your transaction catamenia, only notwithstanding want the email parameter to be passed, you lot tin populate the accost section with default details.

fordwisford.blogspot.com

Source: https://docs.spreedly.com/payment-gateways/paypal/

0 Response to "Paypal It Looks Like Your City"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel