Skip to content

This library is used to decode tokens for Apple Pay.

Notifications You must be signed in to change notification settings

PayU-EMEA/apple-pay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Travis CI Latest Stable Version Total Downloads License

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:

  1. Download AppleRootCA-G3.cer
  2. Run command: openssl x509 -inform der -in AppleRootCA-G3.cer -out AppleRootCA-G3.pem

Get Private Key:

  1. Export merchant certificate to a p12 cert
  2. Use openssl to get the private key: openssl pkcs12 -in <your_cert>.p12 -out private_key.pem -nocerts -nodes
  3. Copy content without BEGIN and END 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!

About

This library is used to decode tokens for Apple Pay.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 8

Languages