<?php
class PayTrace_Json_API {
protected $credentials;
public function __construct( $client_username = PAYTRACE_USERNAME, $client_password = PAYTRACE_PASSWORD, $client_integrator_id = PAYTRACE_INTEGRATORID, $client_url = PAYTRACE_JSON_URL ) {
$this->credentials = (object
) array( 'url' => $client_url . '/v3',
'client_username' => $client_username,
'client_password' => $client_password,
'client_integrator_id' => $client_integrator_id
);
}
public function get_user( $customer_id ){
return $this->send(array(), $this->credentials->url . '/customer/' . $customer_id, $this->headers(), 'GET'); }
public function token(){
'grant_type' => 'client_credentials',
'client_id' => $this->credentials->client_username,
'client_secret' => $this->credentials->client_password,
));
'Content-Type: application/x-www-form-urlencoded'
);
return $this->send($parameters, $this->credentials->url . '/token', $headers, 'POST');
}
public function headers(){
$token = $this->token();
$bearer = $token['data']['access_token'];
'Content-type: application/json',
'Cache-Control: no-cache',
'Authorization: ' . sprintf('Bearer %s', $bearer ), 'X-Integrator-Id: ' . $this->credentials->client_integrator_id
);
return $headers;
}
public function send( $parameters, $url, $headers, $method ){
if( $method === 'POST' ){
if( $parameters ){
}
} elseif( $method === 'GET' ){
}
}
}
}
}
$paytrace_json_api = new PayTrace_Json_API('carl.fontanos2@gmail.com', '2R9J7YV2FMdc', '999cfontanos', 'https://a...content-available-to-author-only...e.com');
echo '<pre>';
print_r($paytrace_json_api->get_user(59485));
PD9waHAgCmNsYXNzIFBheVRyYWNlX0pzb25fQVBJIHsKICAgIAogICAgcHJvdGVjdGVkICRjcmVkZW50aWFsczsKICAgIAogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkY2xpZW50X3VzZXJuYW1lID0gUEFZVFJBQ0VfVVNFUk5BTUUsICRjbGllbnRfcGFzc3dvcmQgPSBQQVlUUkFDRV9QQVNTV09SRCwgJGNsaWVudF9pbnRlZ3JhdG9yX2lkID0gUEFZVFJBQ0VfSU5URUdSQVRPUklELCAkY2xpZW50X3VybCA9IFBBWVRSQUNFX0pTT05fVVJMICkgewogICAgJHRoaXMtPmNyZWRlbnRpYWxzID0gKG9iamVjdCkgYXJyYXkoCiAgICAgICAgICAgICd1cmwnICAgICAgICAgICAgICAgPT4gICRjbGllbnRfdXJsIC4gJy92MycsCiAgICAgICAgICAgICdjbGllbnRfdXNlcm5hbWUnICAgPT4gICRjbGllbnRfdXNlcm5hbWUsCiAgICAgICAgICAgICdjbGllbnRfcGFzc3dvcmQnICAgPT4gICRjbGllbnRfcGFzc3dvcmQsCiAgICAgICAgICAgICdjbGllbnRfaW50ZWdyYXRvcl9pZCcgID0+ICAkY2xpZW50X2ludGVncmF0b3JfaWQKICAgICAgICApOwogICAgfSAgIAoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfdXNlciggJGN1c3RvbWVyX2lkICl7CiAgICAgICAgcmV0dXJuICR0aGlzLT5zZW5kKGFycmF5KCksICR0aGlzLT5jcmVkZW50aWFscy0+dXJsIC4gJy9jdXN0b21lci8nIC4gJGN1c3RvbWVyX2lkLCAkdGhpcy0+aGVhZGVycygpLCAnR0VUJyk7CiAgICB9CgogICAgCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9rZW4oKXsKICAgICAgICAkcGFyYW1ldGVycyA9IGh0dHBfYnVpbGRfcXVlcnkoYXJyYXkoCiAgICAgICAgICAgICdncmFudF90eXBlJyAgICA9PiAgJ2NsaWVudF9jcmVkZW50aWFscycsCiAgICAgICAgICAgICdjbGllbnRfaWQnICAgICA9PiAgJHRoaXMtPmNyZWRlbnRpYWxzLT5jbGllbnRfdXNlcm5hbWUsCiAgICAgICAgICAgICdjbGllbnRfc2VjcmV0JyA9PiAgJHRoaXMtPmNyZWRlbnRpYWxzLT5jbGllbnRfcGFzc3dvcmQsCiAgICAgICAgKSk7CgogICAgICAgICRoZWFkZXJzID0gYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcKICAgICAgICApOwogICAgICAgIAogICAgICAgIHJldHVybiAkdGhpcy0+c2VuZCgkcGFyYW1ldGVycywgJHRoaXMtPmNyZWRlbnRpYWxzLT51cmwgLiAnL3Rva2VuJywgJGhlYWRlcnMsICdQT1NUJyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGhlYWRlcnMoKXsKICAgICAgICAkdG9rZW4gPSAkdGhpcy0+dG9rZW4oKTsKICAgICAgICAkYmVhcmVyID0gJHRva2VuWydkYXRhJ11bJ2FjY2Vzc190b2tlbiddOwogICAgICAgICRoZWFkZXJzID0gYXJyYXkoCiAgICAgICAgICAgICdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb24nLAogICAgICAgICAgICAnQ2FjaGUtQ29udHJvbDogbm8tY2FjaGUnLAogICAgICAgICAgICAnQXV0aG9yaXphdGlvbjogJyAuIHNwcmludGYoJ0JlYXJlciAlcycsICRiZWFyZXIgKSwKICAgICAgICAgICAgJ1gtSW50ZWdyYXRvci1JZDogJyAuICR0aGlzLT5jcmVkZW50aWFscy0+Y2xpZW50X2ludGVncmF0b3JfaWQKICAgICAgICApOwoKICAgICAgICByZXR1cm4gJGhlYWRlcnM7CiAgICB9CiAgICAKICAgIHB1YmxpYyBmdW5jdGlvbiBzZW5kKCAkcGFyYW1ldGVycywgJHVybCwgJGhlYWRlcnMsICRtZXRob2QgKXsKICAgICAgICAKICAgICAgICAkY2ggPSBjdXJsX2luaXQoJHVybCk7CiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCB0cnVlKTsKCiAgICAgICAgaWYoICRtZXRob2QgPT09ICdQT1NUJyApewogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUE9TVCwgdHJ1ZSk7CiAgICAgICAgICAgIGlmKCAkcGFyYW1ldGVycyApewogICAgICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1BPU1RGSUVMRFMsICRwYXJhbWV0ZXJzKTsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmKCAkbWV0aG9kID09PSAnR0VUJyApewogICAgICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfSFRUUEdFVCwgdHJ1ZSk7CiAgICAgICAgfQoKICAgICAgICBpZiggISBlbXB0eSgkaGVhZGVycykgKXsKICAgICAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBIRUFERVIsICRoZWFkZXJzKTsKICAgICAgICB9CgogICAgICAgICRyZXNwb25zZSA9IGN1cmxfZXhlYygkY2gpOwogICAgICAgIGlmKCBjdXJsX2Vycm5vKCRjaCkgKSB7CiAgICAgICAgICAgIHJldHVybiBbJ2Vycm9yJyA9PiBjdXJsX2Vycm9yKCRjaCldOwogICAgICAgIH0KICAgICAgICBjdXJsX2Nsb3NlKCRjaCk7CgogICAgICAgIHJldHVybiBqc29uX2RlY29kZSgkcmVzcG9uc2UsIHRydWUpOyAgICAKICAgIH0KfSAKCiRwYXl0cmFjZV9qc29uX2FwaSA9IG5ldyBQYXlUcmFjZV9Kc29uX0FQSSgnY2FybC5mb250YW5vczJAZ21haWwuY29tJywgJzJSOUo3WVYyRk1kYycsICc5OTljZm9udGFub3MnLCAnaHR0cHM6Ly9hLi4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5lLmNvbScpOwplY2hvICc8cHJlPic7CnByaW50X3IoJHBheXRyYWNlX2pzb25fYXBpLT5nZXRfdXNlcig1OTQ4NSkpOwpleGl0KCk7