PayNow

PayNow is a real-time payment network in Singapore managed by the Association Bank of Singapore (ABS) and overseen by the Monetary Authority of Singapore (MAS). It enables both consumers and businesses to register for the service using various identifiers such as their mobile number, Singapore NRIC/FIN, UEN business registration number, or Virtual Payment Address (VPA for NFI accounts, which includes eWallets). Once registered, users can easily transfer SGD funds from one bank or e-wallet account to another within Singapore through the FAST network. FAST is a regulated and standardized payment rails system that ensures seamless interoperability between different payment providers.

Caractéristiques #

Traitement des devisesSGD
Devises de règlementUSD
Montant minimum de la transaction1 THB
Montant maximum de la transaction5 000 THB
Remboursements
Remboursements partiels
Remboursement partiel multiple
Répétition de la dette

Flux de paiement #

pic_2@2x.png

Méthode d'intégration #

Valeurs de l'énumération des méthodes de paiement : paynow

There are two integration methods for PayNow

  1. API directe
  2. Sortie de caisse

Direct API #

Comment s'intégrer #

Pour une intégration API directe, vous pouvez créer un PaymentIntent et obtenir l'url en une seule étape. Voici la démonstration de la création d'une intention de paiement :

Créer un PaymentIntent

Créez un PaymentIntent sur votre serveur et indiquez le montant à collecter ainsi qu'une devise prise en charge.

Notably, For Paynow, you also need to collect the customer’s nom, pays et courriel en payment_method_data.billing_details.

Si vous disposez déjà d'une intégration Payment Intents, ajoutez bank_transfer_uk à la liste des types de méthodes de paiement.

Demande Créer un PaymentIntent

{
    "amount":1000,
    "currency":"SGD",
    "payment_method_data" : {
        "type":"paynow",
        "billing_details":{
            "address": {
                "country": "SG"
            },
            "name": "Tom Elis",
            "email": "1231536GF41@Gmail.com"
        }
    },
    "description": "product description",
    "quantity": 2,
    "return_url":"https://your.website"
}

Réponse

{
    "id": "pi_1686226704999120896",
    "object": "payment_intent",
    "created": 1690862750000,
    "livemode": true,
    "currency": "SGD",
    "amount": 1000,
    "status": "requires_action",
    "description": "product description",
    "quantity": 2,
    "client_secret": "pi_1686226704999120896_secret_nz79AKtKGcxWr2gUxEsFXrM1",
    "next_action": {
        "type": "paynow_handle_redirect",
        "paynow_handle_redirect": {
            "url": "https://pay.tazapay.com/marketplace/paymentdetails/0Pq7kWaNrGrjxYiaqsfchBD3bR0K4obPc7W4EtdSmt6y9BHpRLFBYdPzUWx59sHR"
        }
    },
    "payment_method_types": [
        "paynow"
    ],
    "confirmation_method": "automatic",
    "return_url": "https://your.website",
    "payment_method": "pm_1686226704869097472",
    "capture_method": "automatic"
}

Sortie de caisse #

Créer une session #

Demande Créer une session

{
    "cancel_url": "www.wooshpay.com",
    "mode": "payment",
    "success_url": "https://wooshpay.com/",
    "payment_method_types":["paynow"],
    "line_items": [
        {
            "price_data": {
                "currency": "SGD",
                "unit_amount": 10000000,
                "nickname": "apple",
                "product_data": {
                    "name": "apple"
                },
                "billing_scheme": "testscheme",
                "lookup_key": "test_lookup_key"
            },
            "quantity": 1
        }
    ]
}

Réponse

{
    "id": "cs_1686257953583136768",
    "object": "checkout.session",
    "created": 1690870200000,
    "livemode": false,
    "currency": "SGD",
    "customer": "",
    "mode": "payment",
    "status": "open",
    "url": "https://checkouttest.wooshpay.com/pay/cs_test_1686257953583136768?key=cGtfdGVzdF9OVEUyTlRjNU5ESXpNalUxTXpNME56ZzVNVE14T2pNemIxTTJhVVZrTmtOdmFsWlBSRTFuVFc1SVREaFljREUyT0RReE1Ua3lNamd6TVRR",
    "cancel_url": "www.wooshpay.com",
    "line_items": {
        "object": "list",
        "data": [
            {
                "id": "li_1686257953620885504",
                "object": "item",
                "currency": "SGD",
                "description": "apple",
                "price": {
                    "id": "price_1686257953633468416",
                    "object": "price",
                    "created": 1690870200000,
                    "livemode": false,
                    "active": false,
                    "currency": "SGD",
                    "nickname": "apple",
                    "product": {
                        "id": "prod_1686257953646051328",
                        "object": "product",
                        "created": 1690870200000,
                        "livemode": false,
                        "active": false,
                        "name": "apple",
                        "updated": 1690870200000
                    },
                    "type": "one_time",
                    "unit_amount": 10000000,
                    "billing_scheme": "per_unit",
                    "lookup_key": "test_lookup_key"
                },
                "quantity": 1,
                "amount_subtotal": 10000000,
                "amount_total": 10000000
            }
        ]
    },
    "payment_intent": "pi_1686257953868349440",
    "payment_method_types": [
        "paynow"
    ],
    "payment_status": "unpaid",
    "success_url": "https://wooshpay.com/",
    "amount_subtotal": 10000000,
    "amount_total": 10000000,
    "billing_address_collection": "auto",
    "expires_at": 1690956599952,
    "payment_link": "",
    "client_secret": "pi_1686257953868349440_secret_BKuEOd8kJq0cxvZszocDlfjb"
}

Prochaine étape #

Vous pouvez ajouter d'autres fonctionnalités à votre intégration en fonction de vos besoins.

Créer un Webhook #

Écoutez les événements sur votre compte WooshPay afin que votre intégration puisse déclencher automatiquement des réactions. Créez un webhook qui se concentre principalement sur enabled_events et url.

Créer un remboursement #

Créez un remboursement pour restituer des fonds à votre client. Vous pouvez également effectuer des remboursements partiels, mais ils ne sont pas pris en charge par toutes les méthodes de paiement. Un remboursement partiel consiste à ne rembourser qu'une partie du montant de la transaction initiale.

Quels sont vos sentiments ?
Mise à jour le 8 août 2023