Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

Version History

Version

Date

Changes

Author

1.0

11 April 2024

Initial Documentation for V4

Anne-Claire Femia

1.1

14 Oct 2024

Added Json Ticket Example

David Guignard

Introduction

Your mobile application can call the PayXpress mobile application in order to handle the payment on the same device. This is done via Intent API:

...

This document lists all the PayXpress v4 features available from an Android Intent call.

...

  • The PayXpress v4 app must be installed.

  • It is possible to call PayXpress with our parameters only via Intent calls.

Calling PayXpress from another Android application

To call PayXpress, you should use an Intent with a Component.

...

You should go to the next section to know which extras you should add depending on the action.

Transactions

To trigger a transaction in PayXpress, you should pass to the Intent some extra parameters with the description of the transaction you want to do.

...

Parameter

Description

Format

Type

Mandatory

transaction_bundle_key_amount

Amount of the transaction.

100: 1,00 €

1050: 10,50 €

Integer

Yes

transaction_bundle_key_transaction_type

Type of the transaction.

1: Debit

2: Cancellation

3: Refund

4: Deferred debit

Integer

No

transaction_bundle_key_print_ticket

Decide if the ticket should be printed or not

true: The ticket should be printed

false: The ticket should not be printed

Boolean

No

transaction_bundle_key_reference

Your id for the transaction

String

Yes

Ticket printing

You can print merchant or client tickets directly in the POS of the last performed transaction.

...

Parameter

Description

Format

Type

Mandatory

transaction_bundle_key_type_print_ticket

Defines which ticket you want to print

0: Merchant & client ticket

1: Client ticket only

2: Merchant ticket only

Integer

Yes

Retrieve intent’s result

For a transaction

When a transaction is triggered via Intent, it is possible to wait for the transaction result to know the outcome of it.

...

Parameter

Description

Format

Type

Mandatory

transactionId

Id of the transaction

/

String

Yes

transactionType

Type of the transaction

1: Debit

2: Cancellation

3: Refund

4: Deferred debit

Integer

Yes

externalReference

Reference of the transaction

/

String

No

amount

Amount of the transaction

100: 1,00 €

1050: 10,50 €

Integer

Yes

currency

Currency of the transaction

/

String

Yes

paymentMethod

Type of transaction

0: Contact

1: Contactless

Integer

Yes

tickets

Client & merchant tickets

Json description. See bellow

String

No

resultCode

Outcome of the transaction

0: Accepted

1: Denied

2: Invalid parameters

3: Transaction already in progress

4: Application in background

5: Error

6: Reference already exists

7: Cancelled

8: Non finished

9: Timeout

Yes

aid

Selected AID during the transaction

/

String

No

isDegradedMode

Transaction without network / offline ?

true: Transaction without network / offline

false: Transaction with network / online

Boolean

No

maskedPan

Masked PAN of the card

/

String

No

cardLabel

Type of card

/

String

No

date

Date’s timestamp

171017239300

Long

Yes

amountTips

Amount of the tips

100: 1,00 €

1050: 10,50 €

Integer

Yes

expirationDate

Expiration date of the card

250630

Integer

Yes

panType

Type of PAN

0: Full PAN

1: Partial PAN

2: Token

Integer

Yes

numAuthorization

Authorization number

/

String

No

Client & Merchant Tickets

Client and Merchant Tickets are restitued in a JSON Structure.

...

Code Block
languagejson
{
	"tickets": [
		{
			"type": "CLIENT",
			"ticket": "Q0FSVEUgQkFOQ0FJUkUKU0FOUyBDT05UQUNUCkJvbmpvdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkEwMDAwMDAwNDIxMDEwCkNCCkxFIDI5LzEwLzI0IEEgMTI6Mzk6MzAKRzcgVEVTVCAgICAgICAgICAyMSAKRElKT04gICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKMDg5OTAxMwoyMDA0MQozMjQzNzk4NjYwMDAxOQpYWFhYWFhYWFhYWFgyODU2CjZDM0U1NEE5N0ZCOENFNzAKODk2IDAwMSAwMDAwMDEgIDAxICBDICAKTrAgQVVUTyA6IApSRUYuIDogCk1PTlRBTlQKNCwwMKBFVVIKREVCSVQKQ0FSVEUgREUgVEVTVApUSUNLRVQgQ0xJRU5UCkEgQ09OU0VSVkVSCk1lcmNpLCBhdSByZXZvaXIuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCg=="
		},
		{
			"type": "MERCHANT",
			"ticket": "Q0FSVEUgQkFOQ0FJUkUKU0FOUyBDT05UQUNUCkJvbmpvdXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCkEwMDAwMDAwNDIxMDEwCkNCCkxFIDI5LzEwLzI0IEEgMTI6Mzk6MzAKRzcgVEVTVCAgICAgICAgICAyMSAKRElKT04gICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKMDg5OTAxMwoyMDA0MQozMjQzNzk4NjYwMDAxOQoyMDEwCjUwNzEwMDQxNTAxMjI4NTYKNkMzRTU0QTk3RkI4Q0U3MApmaW4gMzAvMDYvMjUKODk2IDAwMSAwMDAwMDEgIDAxICBDICAKTrAgQVVUTyA6IApSRUYuIDogCk1PTlRBTlQKNCwwMKBFVVIKREVCSVQKQ0FSVEUgREUgVEVTVApUSUNLRVQgQ09NTUVSQ0FOVApBIENPTlNFUlZFUgpNZXJjaSwgYXUgcmV2b2lyLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo="
		}
	]
}

For a ticket print in the POS

When the instruction to print a ticket is triggered via Intent, it is possible to wait for the result to know the outcome of it.

...