Paytabs provides you with a collection of API endpoints which used to process all payments, regardless of if they are through either your own payment pages, the managed payment pages, or if you are using the hosted payment pages. 


This article is dedicated to the clarification of the payment_methods(payment_methods) parameter along with Apple Pay workflow. "payment_methods" is one of the optional parameters that the request could have, which initiates the payment page with one or more specific payment methods, which must be configured first in your profile.

By setting the Payment method parameter with Apple Pay value, you are requesting to create a payment page with Apple Pay as the only available payment method.

Be aware that Apple Pay MUST be enabled in your PayTabs profile in order to perforem any payments using it, so kindly make sure to contact customercare@paytabs.com or your account manager requesting to enable ApplePay.




In this article, you will be going to know:



Specifications 


The Parameter Tag/Namepayment_methods
JSON Example
{
"payment_methods": [
"applepay"
],
}
Data Typean array of valid payment methods
Required



Usage Workflow


Along with the required parameters mentioned in our Step 3 - PT2 API Endpoints | Initiating the payment solution article, you will need to set the "payment_methods" as shown below:


  • Selecting only Apple Pay

    You can send the value "applepay" to only Apple Pay payment methods on the payment page.
    {
    "payment_methods": [ "applepay"],
    }

  • Multiple Payment Methods Including Apple Pay

    To initiate a payment page with multiple specific payment methods, you can pass a comma-separated string with all the preferred payment methods, as shown below: 
    {
         "payment_methods": ["creditcard", "applepay"]
    }
    
    
    


  • Excluding Apple Pay

    You can initiate a payment page with all the configured payment methods, excluding one method or more from being displayed in the payment by adding (-) before the excluded payment method, as shown below:
    {
         "payment_methods": ["all", "-applepay"]
    }
    // or
    {
         "payment_methods": ["all", "-applepay", "-aman"]
    }



Sample Request Payload

{
     "profile_id": "987654",
     "tran_type": "sale",
     "tran_class": "ecom",
     "cart_id": "CART#1001",
     "cart_currency": "EGP",
     "cart_amount": 500,
     "cart_description": "Description of the items/services",
     
     "payment_methods": ["applepay"]
}



Sample Response Payload

{
     "tran_ref": "TST2232001383974",
     "tran_type": "Sale",
     "cart_id": "CART#1001",
    "cart_description": "Description of the items/services",
    "cart_currency": "EGP",
    "cart_amount": "500.00",
    "tran_currency": "",
    "tran_total": "0",
    "return": "none",
    "redirect_url": "https://secure-egypt.paytabs.com/payment/page/5987375382E410C088F3CE0CDB6E13A0A864AE069E87AB5EBE646BF5",
    "serviceId": 2,
    "profileId": 81784,
    "merchantId": 31237,
     "trace": "PMNT0403.6374F24A.00004935"
}



The Expected Behaviors


The payment_methods parameter is optional; not passing it within the payment page request payload would be the same as passing the "all" value (as a default), which would create a payment page with all the available payment methods for the merchant profile.

Apple Pay

Paytabs Payment Page would show the "Pay" button by Apple Pay



By clicking on the "Pay" button it will trigger the operating system (iOS, MacOSX) to show the customer wallet showing the default card.



After choosing the card to pay with, the customer will be asked to confirm the payment by multiple methods, touch ID, face ID and/or Double clicking as the following figure



Once the transaction is authorized, the "Done" Message will show up to the customer.



Once it's done, the customer will be redirected to the return page (if set within the request), otherwise will be directed to the PayTabs default transaction result page as follow