Payment Facilitator

Transaction initiated from Master-store

We highly recommend to check with your integration or 2nd level support team, if your store is eligible to use this functionality before proceeding with the implementation.

Once your store has been configured in our Gateway and flagged as PFAC master-store, you can send a transaction request on behalf of your sub-stores to the Gateway including paymentFacilitator object. Within this object the submerchantData is mandatory. It contains the following elements:

AttributePresenceDescription
mccMMerchant Category Code of a sub-merchant
legalNameMOfficial legal name of a sub-merchant
timezoneOA time zone a sub-merchant is operating in
emailOSub-merchant email
documentODocument information. Ignored by the Gateway.
addressMSub-merchants address details
Note: some schemes may require full address details including a parameterregion , submitted as 2 or 3 digits ISO code
merchantIdMRepresents sub-merchant's ID assigned by their payment facilitator
merchantVerificationValueOOPTIONAL: Visa Merchant Verification Value or MasterCard Assigned ID of sub-merchant
nationalTaxIdO(available soon)
Tax Identification Number (TINs), e.g. SIRET for France, Brazilian CNPJ, etc.
valueAddedTaxO(available soon)
Value-added tax identification number

The following JSON document represents an example of a 'Sale' transaction triggered by PFAC master-store on behalf of their sub-store:

{
  "requestType": "PaymentCardSaleTransaction",
  "transactionAmount": {
    "total": "10.00",
    "currency": "EUR"
  },
  "paymentMethod": {
    "paymentCard": {
      "number": "414746******0067",
      "securityCode": "XXX",
      "expiryDate": {
        "month": "08",
        "year": "29"
      }
    },
  "paymentFacilitator": {
     "subMerchantData":{
        "mcc": "5655",
        "legalName": "SubMerchant",
        "email": "[email protected]",
        "timezone": "Europe/Berlin",
        "address": {
					"address1": "Main Str. 55",
					"address2": "App. 234",
					"city": "Frankfurt",
					"region": "HE",
					"postalCode": "84375",
					"country": "DE"
    },
    "merchantId": "98765432"
		}
		}
  }
}

The following example represents the API response of an approved transaction:

{
    "clientRequestId": "2811bbe3-572a-41ff-a854-70873526ac22",
    "apiTraceId": "Y6ResHyDYXJ2lNo13ccwuwAAAxY",
    "ipgTransactionId": "84615279640",
    "orderId": "R1671716528939615968",
    "transactionType": "SALE",
    "paymentToken": {
        "reusable": true,
        "declineDuplicates": false,
        "brand": "VISA",
        "type": "PAYMENT_CARD"
        },
    "transactionOrigin": "ECOM",
    "paymentMethodDetails": {
        "paymentCard": {
            "expiryDate": {
                "month": "08",
                "year": "2029"
                },
            "bin": "414746",
            "last4": "0067",
            "brand": "VISA"
        },
        "paymentMethodType": "PAYMENT_CARD"
    },
    "country": "Germany",
    "terminalId": "00011001",
    "merchantId": "000000011",
    "transactionTime": 1671716528,
    "approvedAmount": {
        "total": 10,
        "currency": "EUR",
        "components": {
            "subtotal": 10
	}
    },
    "transactionStatus": "APPROVED",
    "approvalCode": "Y:349415:4615279989:YYYM:301672"
    },
    "processor": {
        "referenceNumber": "084615279640",
	      "authorizationCode": "349415",
        "responseCode": "00",
        "responseMessage": "Function performed error-free",
        "avsResponse": {
            "streetMatch": "Y",
            "postalCodeMatch": "Y"
        },
        "securityCodeResponse": "MATCHED"
        }
    }
   
}

Transaction initiated from Sub-store

In case you preferred to board all your sub-merchants in our Gateway and your stores have been setup properly, you do not need to include any additional details when initiating a transaction request from a sub-store. The Gateway will provide all necessary flagging according your sub-store configuration.

The following JSON document represents an example of a transaction request including minimal set of elements:

{
  "requestType": "PaymentCardSaleTransaction",
  "transactionAmount": {
    "total": "10.00",
    "currency": "EUR"
  },
  "paymentMethod": {
    "paymentCard": {
      "number": "414746******0067",
      "securityCode": "XXX",
      "expiryDate": {
        "month": "08",
        "year": "29"
      }
    }


Want a quick overview?