标签: adyen

Adyen集成到React Native

大家好,一天..有谁知道如何将adyen集成到可在IOS和ANDROID上运行的React Native

提前致谢 :)

android ios in-app-billing react-native adyen

5
推荐指数
1
解决办法
816
查看次数

Adyen错误:[状态] => 403 [错误代码] => 010 [消息] =>不允许[错误类型] =>安全

我正在尝试使用JSON API以便通过ADYEN进行(测试)付款。

这是代码(我从Github-> Adyen-> adyen-php-sample-code获得了这个示例:

    <?php
/**
 * Create Payment through the API (HTTP Post)
 * 
 * 
 * Please note: using our API requires a web service user. Set up your Webservice 
 * user: Adyen Test CA >> Settings >> Users >> ws@Company. >> Generate Password >> Submit 
 *  
 * @author  Created by Adyen - Payments Made Easy
 */ 

 /**
  * A payment can be submitted by sending a PaymentRequest 
  * to the authorise action of the web service, the …
Run Code Online (Sandbox Code Playgroud)

php payment payment-gateway adyen

5
推荐指数
1
解决办法
2542
查看次数

Magento 2 中不存在订单,但已使用指定的订单号成功捕获客户付款

平台M2.3.4

日期: 2020年4月29日

情况:Redis 和 Varnish 设置中存在配置错误,导致结帐问题,由于结帐会话内存过载过多,导致结帐时间比用户预期的时间长得多。客户可以将产品添加到购物车中,继续结帐并单击“下订单”。

遇到错误:通过卡付款时,通过 PayPal 付款时出现严重错误,轮子永远旋转。

经过调查,付款成功,有时付款次数很多,因为他们认为事情失败并再次尝试。所有订单在支付提供商平台上都有订单号,例如 PayPal、Adyen、Amazon Pay。 然而,这些在 Magento 中并不存在。我们希望处理这些订单,但支付系统中没有足够的订单详细信息,例如产品信息(颜色尺寸/款式)。

对于等待 3-4 分钟页面完成并看到成功页面的客户,订单已在 Magento 后端成功创建。

有没有办法完成订单并在 Magento 2 中创建它,因为它似乎已经为 PayPal 和 Adyen 等支付系统中的交易分配了订单号,但 Magento 可见视图中没有订单?

订单号示例为 000046777

  1. 由于 Magento 订单号已分配,我如何在 Magento 中创建/完成这些订单?
  2. 是否可以在数据库中查看这些订单,如果可以,如何查看?
  3. 如果无法从 Magento 或数据库检索这些订单,我如何手动创建新订单并分配失败发生时 Magento 在支付系统中捕获/分配的现有订单号?

paypal amazon-pay magento2 adyen magento-2.3

5
推荐指数
1
解决办法
2269
查看次数

如何正确显示 Klarna Pay Over Time 小部件?

我正在将 Klarna 集成到与 Adyen 相关的沙盒环境中。我已经精确地遵循了文档,但遇到了一个问题,即小部件中没有显示“继续”按钮,从而阻止了结帐过程。

-预期的-

在此处输入图片说明

-实际(缺少按钮)-

在此处输入图片说明

重新创建的代码:

发布到: https://checkout-test.adyen.com/v67/payments

{
  "merchantAccount": "MERCHANTLLC",
  "reference": "123",
  "paymentMethod": {
    "type": "klarna_account"
  },
  "amount": {
    "currency": "USD",
    "value": 18210
  },
  "shopperLocale": "en_US",
  "countryCode": "US",
  "telephoneNumber": "1111111111",
  "shopperEmail": "test@gmail.com",
  "shopperName": {
    "firstName": "John",
    "lastName": "Doe"
  },
  "returnUrl": "http://someurl.com",
  "lineItems": [
    {
      "quantity": 1,
      "amountExcludingTax": "16900",
      "taxPercentage": "775",
      "description": "asdfasdf",
      "id": "123",
      "taxAmount": 1310,
      "amountIncludingTax": "18210",
      "productUrl": "http://producturl.com"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

它返回client_token:“ABC123”。然后使用该令牌通过klarna 文档加载小部件:

 window['Klarna']['Payments'].init({
      client_token: 'ABC123'
    })
    window['Klarna']['Payments'].load({
      container: …
Run Code Online (Sandbox Code Playgroud)

javascript klarna adyen angular klarna-widget

5
推荐指数
1
解决办法
95
查看次数

带有标头的基本身份验证 - Javascript XMLHttpRequest

我正在尝试访问需要基本身份验证凭据的 Adyen 测试 API。https://docs.adyen.com/developers/ecommerce-integration

我的凭据在通过浏览器访问 API 页面时有效。
验证

但是在尝试使用 XMLHttpRequest POST 请求访问 API 时,我收到了401 Unauthorized响应。

Javascript代码

var url = "https://pal-test.adyen.com/pal/servlet/Payment/v25/authorise";

var username = "ws@Company.CompanyName";
var password = "J}5fJ6+?e6&lh/Zb0>r5y2W5t";
var base64Credentials = btoa(username+":"+password);

var xhttp = new XMLHttpRequest();
xhttp.open("POST", url, true);
xhttp.setRequestHeader("content-type", "application/json");
xhttp.setRequestHeader("Authorization", "Basic " + base64Credentials);

var requestParams = XXXXXXXX;
xhttp.send(requestParams);
Run Code Online (Sandbox Code Playgroud)


结果

结果

javascript xmlhttprequest basic-authentication cors adyen

3
推荐指数
2
解决办法
7214
查看次数

将嵌套数组中的“点表示法”键扩展为子数组

我从一些任意深度的嵌套数组开始。在该数组中,某些键是一系列用点分隔的令牌。例如“ billingAddress.street”或“ foo.bar.baz”。我想将这些键元素扩展为数组,因此结果是所有这些键都扩展了的嵌套数组。

例如:

[
    'billingAddress.street' => 'My Street',
    'foo.bar.baz' => 'biz',
]
Run Code Online (Sandbox Code Playgroud)

应该扩展为:

[
    'billingAddress' => [
        'street' => 'My Street',
    ],
    'foo' => [
        'bar' => [
            'baz' => 'biz',
        ]
    ]
]
Run Code Online (Sandbox Code Playgroud)

可以在新的“ billingAddress”数组旁边保留原始的“ billingAddress.street”,但这不是必须的(因此解决方案可以在原始数组上运行或创建新的数组)。可能需要将其他元素(例如“ billingAddress.city”)添加到数组的同一扩展部分。

某些键可能有两个以上的令牌,这些令牌由点分隔,因此需要更深地扩展。

我已经看过了,array_walk_recursive()但这仅适用于元素。对于每个匹配的元素键,我实际上想修改这些元素所在的父数组。

我已经看过array_map,但是它不提供对键的访问,并且据我所知不是递归的。

扩展示例数组:

[
    'name' => 'Name',
    'address.city' => 'City',
    'address.street' => 'Street',
    'card' => [
        'type' => 'visa',
        'details.last4' => '1234',
    ],
]
Run Code Online (Sandbox Code Playgroud)

这将扩展为:

[
    'name' => 'Name',
    'address.city' => 'City', // Optional
    'address' => …
Run Code Online (Sandbox Code Playgroud)

php arrays recursion adyen

3
推荐指数
1
解决办法
360
查看次数

当来源为 http 且目标 url 为 https 时,如何在本地网络中发出 POST 请求?

我需要从 POS(销售点)(http)向支付终端(https)发出 POST 请求,它们连接在我的本地网络中。当我向邮递员发出请求时,一切正常,但每当我从 POS 发出请求时,我都会收到错误“POST https://myIPaddress:8443/nexo/ net::ERR_CERT_AUTHORITY_INVALID”

我尝试使用 xhr 对象并使用 jquery 发出请求,但我不断遇到同样的错误

jQuery

const settings = {
      async: true,
      crossDomain: true,
      url: 'https://myIPAdress:8443/nexo/',
      method: "POST",
      data: JSON.stringify({
        data
      })
    };

    $.ajax(settings).done(function (response) {
      console.log(response);
    });
Run Code Online (Sandbox Code Playgroud)

JS/xhr

var data = JSON.stringify({
      data
    });

    var xhr = new XMLHttpRequest();
    xhr.withCredentials = true;

    xhr.addEventListener("readystatechange", function () {
      if (this.readyState === 4) {
        console.log(this.responseText);
      }
    });

    xhr.open("POST", "https://myIPAdress:8443/nexo");

    xhr.send(data);

  });
Run Code Online (Sandbox Code Playgroud)

我希望能够将 POST 请求从 POS 发送到支付终端。

javascript jquery cors adyen

3
推荐指数
1
解决办法
3525
查看次数

处理 Adyen Web Drop-In 的 CORS 错误/无效客户端密钥

我正在尝试实施端到端概念验证来练习Adyen 的 Web Drop-In。粗略地说,这涉及三个步骤,如该 URL 所示,但为了方便起见,在此重复:

  1. 创建支付会话
  2. 设置插入
  3. 获取支付结果

步骤1在服务器上完成,会话数据返回到浏览器。那部分工作正常。第 2 步必须在浏览器中完成,因为它需要 DOM,这(自然)是 CORS 问题出现的地方。这是有问题的代码:

      const configuration = {
        environment: "test",
        clientKey: "test_APV***...",
        session: {
          id: uuidv4(),
          sessionData: "Ab02b4c0!BQABAgBdJVhguRV6hEN..."
        },
        onPaymentCompleted: (result, component) => {
            console.info(result, component);
        },
        onError: (error, component) => {
            console.error(error.name, error.message, error.stack, component);
        }
      };

      AdyenCheckout(configuration)
      .then(checkout => {
        const dropinComponent = checkout.create('dropin').mount('#dropin-container');
      })
      .catch(error => {
        console.error('Creating Adyen Checkout: ', error.message)
      })
    }
Run Code Online (Sandbox Code Playgroud)

该行AdyenCheckout(configuration)失败,这会将执行线程放入处理程序中onError。在浏览器控制台中可以看到两个错误:

  1. 一个标准的 CORS 错误,来自 Adyen 的 …

cors adyen

3
推荐指数
1
解决办法
3995
查看次数

如何找到我的Adyen令牌?

我正在尝试Adyen进行移动支付并陷入第1步......

我用一个按钮启动了一个演示活动PaymentActivity.这里有一些代码要详细说明:

    btnCheckout = (Button) findViewById(R.id.btn_checkout);
    btnCheckout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            CheckoutRequest checkoutRequest = new CheckoutRequest();
            try {
                checkoutRequest.setBrandColor(R.color.adyen_green);
                checkoutRequest.setBrandLogo(R.drawable.pay_button);
                checkoutRequest.setCheckoutAmount(1.01f);
                checkoutRequest.setCurrency(Currency.EUR);
                //checkoutRequest.setToken(your_token);
                checkoutRequest.setToken("thisISmyToken");
                checkoutRequest.setTestBackend(true);//default is set to false. Set it to true if you want to use Adyen's test back-end.

                Intent intent = new PaymentActivity.PaymentActivityBuilder(checkoutRequest).build(MainActivity.this, getBaseContext());
                startActivity(intent);
            } catch (CheckoutRequestException e) {
                Log.e("SHARK", e.getMessage(), e);
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

我怎样以及在哪里找到这个your_token?我已经读过在CA下找到它 - >设置/用户但....我没有看到我应该在任何地方使用的令牌.我也失去了链接:/

请帮助,因为我甚至无法在没有令牌的情况下尝试示例代码.

payment android adyen

2
推荐指数
1
解决办法
743
查看次数

Adyen付款:保存卡令牌,稍后从令牌付款

可以允许adyen保留信用卡详细信息,并根据令牌或客户ID而不是信用卡信息向客户付款.我检查了adyen标记化方法,我找不到任何api文档的标记化方法(类似于条带化支付).

任何人请建议我.

php adyen

2
推荐指数
1
解决办法
2851
查看次数

没有收到adyen回调

我正在尝试将adyen api实现到我的项目中,我遇到了以下问题:

首先,我收到来自adyen的通知回调,其中AUTHORIZATION为true且传输状态为1,但在此之后,我没有收到任何其他通知.即使付款流程为CAPTURED为true,通知也不会到达.

我已经在adyen沙箱中测试了adyen通知,并且通知工作正常.以下是回调文件的代码示例:

if (($eventCode=="AUTHORISATION") && ($success=="true"))
{

    if($paymentRecharge['status']!=0) //Check if status is placed only
    {
        ReleaseTableLock($orderID);

        print('[accepted]');  
        return;
    }

    if (($paymentRecharge['adyen_amount']!=$value) || ($paymentRecharge['currency']!=$currency)) //Check to see if the paid value is the same as our value, otherwise this is Fraud
    {
        SetPaymentStatus($orderID,5);
        ReleaseTableLock($orderID);
        print('[accepted]'); 
        return;
    }

    MarkAsAuthorised($orderID); //changes status to 1 - authorised

    //check if we need to Capture automatically
    if($adyenParams['adyen_capture']==1)
    {
        $adyen = new AdyenGateway();
        $data = array();
        $data["params"] = $adyenParams;

        $data["userId"] = $paymentRecharge['customerId'];
        $response;
        $result=$adyen->Capture($data,$pspReference,$response,$paymentRecharge['userId'],$paymentRecharge['adyen_amount'],$paymentRecharge['currency']);
    } …
Run Code Online (Sandbox Code Playgroud)

php payment payment-gateway adyen

1
推荐指数
1
解决办法
2444
查看次数

使用 SPA 中的 Adyen

我们正在使用 Angular 构建一个市场,并且希望集成 Adyen 支付。谷歌搜索“Adyen Angular”或“Adyen SPA”甚至“Adyen React”不会带来任何有用的结果。没有任何结果。

因此,我想知道为什么整个世界(包括 Adyen 文档)都没有谈论将 Adyen 集成到 SPA 中。

对我来说,它似乎并没有更容易受到网络安全攻击。至少我想不出任何理由。

请帮助我理解我错过了什么。

payment single-page-application adyen

0
推荐指数
1
解决办法
1365
查看次数