payu / apple-pay
ApplePay Token Decoder
Installs: 661 463
Dependents: 0
Suggesters: 0
Security: 0
Stars: 50
Watchers: 21
Forks: 31
Open Issues: 6
Requires
- php: ^7.4|^8.0
- ext-openssl: *
- phpseclib/phpseclib: ^3.0
- spomky-labs/php-aes-gcm: ^1.2
- symfony/process: ^4.1|^5.0|^6.0
Requires (Dev)
- phpstan/phpstan: ^1.8
- phpunit/phpunit: ^7.5|^9.0
README
Apple Pay Token Decoder
This library is used to decode tokens for Apple Pay.
It takes a payment token data and returns an ApplePayPaymentData object. ex:
class PayU\ApplePay\Decoding\ApplePayPaymentData#19 (9) {
private $version =>
int(1)
private $applicationPrimaryAccountNumber =>
string(16) "20427527000"
private $applicationExpirationDate =>
string(6) "190731"
private $currencyCode =>
string(3) "643"
private $transactionAmount =>
int(100000)
private $deviceManufacturerIdentifier =>
string(12) "050103073"
private $paymentDataType =>
string(8) "3DSecure"
private $onlinePaymentCryptogram =>
string(28) "Am+7lPDbobAGVT7hNAoABA=="
private $eciIndicator =>
NULL
}
Install:
Run composer require payu/apple-pay
Get AppleRootCA-G3.pem:
- Download AppleRootCA-G3.cer
- Run command:
openssl x509 -inform der -in AppleRootCA-G3.cer -out AppleRootCA-G3.pem
Get Private Key:
- Export merchant certificate to a p12 cert
- Use openssl to get the private key:
openssl pkcs12 -in <your_cert>.p12 -out private_key.pem -nocerts -nodes
- Copy content without
BEGIN
andEND
markers
Usage:
See https://github.com/PayU/apple-pay/blob/master/examples/decode_token.php
For more information about how Apple Pay tokens decoding works go to: https://developer.apple.com/library/content/documentation/PassKit/Reference/PaymentTokenJSON/PaymentTokenJSON.html
Only works on Linux hosts with openssl installed
For open pull requests please make sure the Travis build does not fail!