Pay With Crypto Payment Flow – Production user experience EUR – BTC

To see how it works on Production environment please checkout the following payment flow from EUR to BTC.

Pay With Crypto Payment Flow

  1. Make a REST request using the below parameters:
    Customer Email is a required parameter (if sent in the initial request, a step in the flow will be skipped, as this parameter can also be collected on our side).

    Request:

    POST https://pay.smart2pay.com/v1/payments
    
    {
      "Payment": {
        "MerchantTransactionID": "cdrest312",
        "Amount": 3000,
        "Currency": "EUR",
        "MethodID": "97",
        "Description": "Pay with Crypto Test payment",
        "ReturnURL": "http://demo.smart2pay.com/redirect.php", 
        "TokenLifetime": 10,
        "Customer": {
          "Email": "john@test.com"
         },
        "BillingAddress": {
          "Country": "DE"
          }
        }
      }
    

    Response:

    HTTP/1.1 201 Created
    Content-Type: application/json; charset=utf-8
    
    {
        "Payment": {
            "ID": 455100364,
            "SkinID": null,
            "ClientIP": null,
            "Created": "20210402080607",
            "MerchantTransactionID": "cdrest312",
            "OriginatorTransactionID": null,
            "Amount": "3000",
            "Currency": "EUR",
            "CapturedAmount": null,
            "ReturnURL": "http://demo.smart2pay.com/redirect.php",
            "Description": " Pay with Crypto Test payment",
            "MethodID": 97,
            "MethodOptionID": null,
            "IncludeMethodIDs": null,
            "ExcludeMethodIDs": null,
            "PrioritizeMethodIDs": null,
            "SiteID": 30025,
            "NotificationDateTime": null,
            "Customer": {
                "MerchantCustomerID": null,
                "Email": null,
                "FirstName": null,
                "LastName": null,
                "Gender": null,
                "SocialSecurityNumber": null,
                "Phone": null,
                "Company": null,
                "DateOfBirth": null
            },
            "BillingAddress": {
                "City": null,
                "ZipCode": null,
                "State": null,
                "Street": null,
                "StreetNumber": null,
                "HouseNumber": null,
                "HouseExtension": null,
                "Country": "DE"
            },
            "ShippingAddress": null,
            "Articles": null,
            "Details": null,
            "ReferenceDetails": null,
            "CustomParameters": null,
            "PreapprovalID": null,
            "Status": {
                "ID": 1,
                "Info": "Open",
                "Reasons": null
            },
            "Fraud": null,
            "MethodTransactionID": null,
            "TokenLifetime": 10,
            "Capture": null,
            "PreapprovalDetails": null,
            "RedirectURL": "https://globalapi.smart2pay.com/Home?PaymentToken=AC38A391BBCA8A3B594B144D92115BB5.455100364",
            "Splits": null
        }
    }
    
  2. The user is redirected to the Crypto processor page where they are prompted to choose the cryptocurrency in which the payment will be made1 Payment details
  3. After choosing the crypto currency, the customer can complete the payment by using the QR Code or by copying the crypto address and the exact amount displayed on page. The user has 1 hour to complete the payment.1 Account login
  4. The user goes to his crypto wallet to complete the payment by clicking on the Send button (from Send&Receive section). In this section it is required to add the crypto address that he previously saved and the Amount in BTC.
    1 Account login
  5. The user validates the transaction via a link sent to their linked email address of the Crypto Account (this might apply only to some Crypto Accounts).

    1 Account login

    1 Account login

  6. The user confirms the BTC transfer.

    1 Account login

    1 Account login

  7. The customer is redirected to a payment processing message page.
    1 Account login
  8. At the same time, as soon as the payment is completed the user receives this in their Crypto Wallet.
    1 Account login
  9. Upon completion of the payment flow, the customer is redirected to the Merchant Redirect URL (Merchant Website).
    1 Account login
  10. We will notify you about the new status of the payout to the Notification URL you setup in the Merchant Dashboard. The format of the received notification has the same structure as the response of the initial request.

    You need to respond with HTTP code 204 (No Content)!

    Payment notification format:

    Authorization: Basic MzAyMDE6aEo1Um9iWXg5cjdGZk53Q3ZIWTlMWEhxcXIrRkV6cmM3YUp2UVFrNEdhejFtZzdSeXk=
    
    {
      "Payment": {
        "ID": 455100364,
        "SkinID": null,
        "ClientIP": null,
        "Created": "20210402080607",
        "MerchantTransactionID": "cdrest312",
        "OriginatorTransactionID": null,
        "Amount": "3000",
        "Currency": "EUR",
        "CapturedAmount": null,
        "ReturnURL": "http://demo.smart2pay.com/redirect.php",
        "Description": " Pay with Crypto Test payment",
        "MethodID": 97,
        "MethodOptionID": null,
        "IncludeMethodIDs": null,
        "ExcludeMethodIDs": null,
        "PrioritizeMethodIDs": null,
        "SiteID": 30025,
        "NotificationDateTime": null,
        "Customer": null,
        "BillingAddress": null,
        "ShippingAddress": null,
        "Articles": null,
        "Details": null,
        "ReferenceDetails": null,
        "CustomParameters": null,
        "PreapprovalID": null,
        "Status": {
          "ID": 2,
          "Info": "Success",
          "Reasons": null
        },
        "Fraud": null,
        "MethodTransactionID": null,
        "TokenLifetime": 10,
        "Capture": null,
        "PreapprovalDetails": null,
        "RedirectURL": "https://globalapi.smart2pay.com/Home?PaymentToken=AC38A391BBCA8A3B594B144D92115BB5.455100364",
        "Splits": null
      }
    }
    

    Response:

    204 No Content