WePay PHP SDK
=============
WePay's API allows you to easily add payments into your application.
For full documentation, see [WePay's developer documentation](https://www.wepay.com/developer)
Usage
-----
In addition to the samples below, we have included a very basic demo application in the `demoapp` directory. See its README file for additional information.
### Configuration ###
For all requests, you must initialize the SDK with your Client ID and Client Secret, into either Staging or Production mode. All API calls made against WePay's staging environment mirror production in functionality, but do not actually move money. This allows you to develop your application and test the checkout experience from the perspective of your users without spending any money on payments. Our [full documentation](https://www.wepay.com/developer) contains additional information on test account numbers you can use in addition to "magic" amounts you can use to trigger payment failures and reversals (helpful for testing IPNs).
**Note:** Staging and Production are two completely independent environments and share NO data with each other. This means that in order to use staging, you must register at [stage.wepay.com](https://stage.wepay.com/developer) and get a set of API keys for your Staging application, and must do the same on Production when you are ready to go live. API keys and access tokens granted on stage *can not* be used on Production, and vice-versa.
access_token;
}
else {
// Unable to obtain access token
}
}
Full details on the access token response are [here](https://www.wepay.com/developer/reference/oauth2#token).
**Note:** If you only need access for yourself (e.g., for a personal storefront), the application settings page automatically creates an access token for you. Simply copy and paste it into your code rather than manually going through the authentication flow.
### Making API Calls ###
With the `$access_token` from above, get a new SDK object:
request('account/find');
foreach ($accounts as $account) {
echo "account_uri\">$account->name: $account->description
";
}
}
catch (WePayException $e) {
// Something went wrong - normally you would log
// this and give your user a more informative message
echo $e->getMessage();
}
And that's it! For more detail on what API calls are available, their parameters and responses, and what permissions they require, please see [our documentation](https://www.wepay.com/developer/reference). For some more detailed examples, look in the `demoapp` directory and check the README. Dropping the entire directory in a web-accessible location and adding your API keys should allow you to be up and running in just a few seconds.
### SSL Certificate ###
If making an API call causes the following problem:
Uncaught exception 'Exception' with message 'cURL error while making API call to WePay: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed'
You can read the solution here: https://support.wepay.com/entries/21095813-problem-with-ssl-certificate-verification