I am on vacation this week in NYC just carved out a little time to do this one. It was fun:
Contact contact = [SELECT Id, Phone, Email, FirstName, LastName FROM Contact LIMIT 1 ];
//StripeCustomer customer = (StripeCustomer) JSON.deserialize(jsonResponse, StripeCustomer.class);
StripeCustomer customer = new StripeCustomer();
customer.id = contact.Id;
customer.name = contact.FirstName + '' + contact.LastName;
customer.email = contact.Email;
customer.phone = contact.Phone;
//String jsonContact = JSON.serialize(customer);
//System.debug(jsonContact);
String urlEncodedBody =
'email=' + EncodingUtil.urlEncode(contact.Email, 'UTF-8') +
'&name=' + EncodingUtil.urlEncode(contact.FirstName + ' ' + contact.LastName, 'UTF-8');
HttpRequest request = new HttpRequest();
request.setMethod('POST');
String stripeSecretKey = 'sk_test_51SQ7hORqNlM7fTBZn8RVPJXQ5jjc0bVY2wYDcyotJUhiJouuetaudghZ5YpvjW1lN87N3lwWcHKXbnAszl1hNpuE00U9sIWK0u';
request.setHeader('Content-Type', 'application/x-www-form-urlencoded');
request.setHeader('Authorization', 'Bearer ' + stripeSecretKey);
request.setBody(urlEncodedBody);
Http http = new Http();
HttpResponse response = http.send(request);
System.debug(response.getBody());