Integrate our new JavaScript SDK for Payments

By

PayPal’s Braintree is a core building block for accepting payments on the web, enabling merchants to accept PayPal, credit cards, 3D Secure, Apple Pay, Android Pay, and more. This year, we introduced a new version of our Braintree JavaScript SDK (Software Development Kit). With numerous improvements such as a smaller file size, greater flexibility, and input formatting, this modernized JS SDK is ready for the web of today and tomorrow. We’re pleased to announce General Availability of v3 of the Braintree JS SDK, ready for you to integrate and use right away. This SDK is a great way to accept… Read more

DMARC-Related Recommendations Included in NIST Guidance on Trustworthy Email

By and

Another important milestone was recently achieved for Domain-based Message Authentication Reporting and Conformance (DMARC), one of the PayPal Ecosystem Security team’s major undertakings in making the internet a safer, more secure place. After several years of collaboration with the email security community, the U.S. National Institute of Standards and Technology (NIST) included recommendations for supporting DMARC in NIST’s SP 800-177, Trustworthy Email. SP 800-177 was released in September and is intended to give recommendation and guidelines for enhancing trust in email. While the audience for NIST publications is typically US federal agencies, its guidance does tend to influence other global… Read more

From Big Data to Fast Data in Four Weeks or How Reactive Programming is Changing the World – Part 2

By

Part 2: Lambda Architecture meets reality Part 1 can be found here. Fast Data Fast forward to December 2015. We have a cross data center Kafka clusters, we have Spark adoption through the roof. All of this, however, was to fix our traditional batch platform. I’m not going to pretend we never thought about real-time stuff. We’d been gearing up toward the Lambda architecture all along, but truly we were not working specifically for the sake of the near real-time analytics. The beauty of our current stack and skill set is that streaming just comes with it. All we needed to do… Read more

Carrier Payments Big Data Pipeline using Apache Storm

By

Carrier payments is a frictionless payment method enabling users to place charges for digital goods directly on their monthly mobile phone bill. There is no account needed, just the phone number. Payment authorization happens by verification of a four digit PIN sent via SMS to a user’s mobile phone. After the successful payment transaction, charges will appears on user’s monthly mobile phone bill. Historically fraud has been handled on the mobile carrier side through various types of spending caps (daily, weekly, monthly, etc.). While these spending caps were able to keep fraud at bay in the early years, as this… Read more

From Big Data to Fast Data in Four Weeks or How Reactive Programming is Changing the World – Part 1

By

Part 1: Reactive Manifesto’s Invisible Hand Let me first setup the context for my story. I’ve been with PayPal for 5-years. I’m an architect. I’m part of the team responsible for PayPal Tracking domain. Tracking is commonly and historically understood as the measurement of customer visits to web pages. With the customer’s permission our platform collects all kinds of signals from PayPal web pages, mobile apps and services, for variety of reasons. Most prominent among them are measuring new product adoptions, A/B testing, and fraud analysis. We collect several terabytes of data on our Hadoop systems every day. This is… Read more

PayPal is Now Available Through WooCommerce 2.6 Onboarding Wizard

By

In case you missed it, WooCommerce’s newest major release, Zipping Zebra, lets you download and activate PayPal custom payment options by making PayPal Powered by Braintree (US only) and Express Checkout (global) available directly through the onboarding wizard. You are still able to take credit card payments out-of-the-box through the PayPal Standard gateway that’s built into WooCommerce. But now it is easier to add PayPal Powered by Braintree (a custom payment option) directly in the onboarding wizard. For existing customers, the PayPal gateway can also easily be added to a store from the WooCommerce Add-Ons screen. Customers who already use this or other gateways won’t… Read more

Adaptive Payments is Moving to Limited Release – What you Need to Know

By and

On October 6th we will begin the process of moving the Adaptive Payments product into a limited release mode. Limited release means a few things for Adaptive Payments in this case: Adaptive Payments will be restricted to select partners for approved use cases and should not be used for new integrations without guidance from PayPal. The Adaptive Payments documentation will only be accessible from a single new location, the documentation directory. All references to Adaptive Payments as a solution within the documentation will be removed / replaced with the best current solutions. Adaptive Payments will continue to be a fully… Read more

Python by the C side

By

Mahmoud’s note: This will be my last post on the PayPal Engineering blog. If you’ve enjoyed this sort of content subscribe to my blog/pythondoeswhat.com or follow me on Twitter. It’s been fun! All the world is legacy code, and there is always another, lower layer to peel away. These realities cause developers around the world to go on regular pilgrimage, from the terra firma of Python to the coasts of C. From zlib to SQLite to OpenSSL, whether pursuing speed, efficiency, or features, the waters are powerful, and often choppy. The good news is, when you’re writing Python, C interactions… Read more

Spark in Flames – Profiling Spark Applications Using Flame Graphs

By

When your organization runs multiple jobs on a Spark cluster, resource utilization becomes a priority. Ideally, computations receive sufficient resources to complete in an acceptable time and release resources for other work. In order to make sure applications do not waste any resources, we want to profile their threads to try and spot any problematic code. Common profiling methods are difficult to apply to a distributed application running on a cluster. This post suggests an approach to profiling Spark applications. The form of thread profiling used is sampling – capturing stack traces and aggregating these stack traces into meaningful data, in this case displayed… Read more

Python Packaging at PayPal

By

Year after year, Pythonists all over are churning out more code than ever. People are learning, the ecosystem is flourishing, and everything is running smoothly, right up until packaging. Packaging Python is fundamentally un-Pythonic. It can be a tough lesson to learn, but across all environments and applications, there is no one obvious, right way to deploy. Frankly, it’s hard to think of an area where Python’s Zen applies less. At PayPal, we write and deploy our fair share of Python, and we wanted to devote a couple minutes to our story and give credit where credit is due. For… Read more